Web API on IIS 8.0 - 405 Method Not Allowed for PUT
Lately I’m extensively developing my web services in ASP.Net Web API and generally speaking it’s good framework in supporting HTTP programming (REST “style”), even if it is in it’s early stages and needed more features to be “completed”.
Yesterday I had a very interesting problem when I published new version of my project (btw, I am developing web api in ASP.Net 4.5 and deploy it in Windows Server 2012 and IIS 8).
When I hit my web api with a PUT request (PUT -> api.mydomain.com/profilecontroller/) web server’s response was error 405 (or method not allowed) while in same time my controller supported all types of requests (get, post, put, delete).
I was surprised with this error while just few minutes earlier everything worked perfectly.
I googled for some time and get disappointed with results - no solution found.
Started to think what I did with my web server and I remembered some “not friendly” touches :D in Web Server (IIS) Role configuration, like installing “WebDAV Publishing”.
I immediately uninstalled (unchecked) that “feature (not Windows Feature :D)” in Web Server (IIS) Role and everything started to work like a charm :D.
It was kind of a stupid solution (I have to admit) but finally everything worked fine :D.