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框架解密 第一章

posted @ 2014-12-11 18:34  烽火情怀  阅读(1836)  评论(0编辑  收藏  举报