Friday, November 15, 2013

IIS error 405 method not allowed

I was developing some services using Asp.net Web API and it was working fine on the visual studio development server, but as soon as I hosted it on IIS (7.5) I was getting this error. The HTTP verb for the service  was PUT. GET and POST requests were working fine. The error was occurring due to WebDAV which does not allow the  PUT verb. So a simple solution is to remove the WebDAV module from your web project.

1. Go to your web.config and add the following under modules in system.webserver,

 <remove name="WebDAVModule"/>

2. After adding this my web.config looked like this (This is only a part of it),

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="WebDAVModule"/>
    </modules>