IIS默认不支持Post、Delete请求方式,返回405 Not Allowed的解决方式
IIS拒绝PUT和DELETE请求是由默认注册的一个名为“WebDAVModule” 的自定义HttpModule导致的。WebDAV的全称为“Web-based Distributed Authoring and Versioning” ,它是一个在多用户之间辅助协同编辑和管理在线文档的HTTP扩展。该扩展使应用程序可以直接将文件写到Web Server上,同时支持文件的加锁和版本控制。
微软是推动WebDAV成为一个标准的主导力量,它自己利用自定义的HttpModule实现了IIS针对WebDAV的支持。但是这个默认注册(注册名称为“WcbDAVModule” )会拒绝HTTP方法为PUT和DELETE的请求,如果我们的站点不需要提供针对WebDAV的支持,解决这个问题最为直接的方式就是利用如下的配置将注册的HttpModule移除。
<configuration>
...
<system.webserver>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModu1e" />
</modules>
</systom.webServer>
</configuration>
来自:web api 2框架解密 第一章