Metodo no permitido error 405 enIIS7 Website PUT, DELETE etc
Estuve trabajando en un proyecto con web api con .Net 4 , al momento de realizar el deploy del api a un servidor windows server 2008 r2 con IIS , tuve problemas al realizar consultas con las metodos de http put, los cuales no podian entrar al servidor IIS y devolvian un mensaje de error de "405 http verb is not allowed" el problema se soluciono realizando los siguientes pasos.
Dentro de IIS entrar a la opcion Handler Mappings
luego seleccionar webdav de la lista de mappings
click en Request Restrictions
luego cambiar al tab de "verbs "y seleccionar "all verbs"
reiniciar la aplicacion en IIS . entrar a tu archivo web.config del proyecto api en se escribira una nueva propiedad para la opcion de handlers .
Antes:
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
Ahora:
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="WebDAV" path="*" verb="*" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" />
</handlers>
Espero que esto ayude a mi me ayudo bastante