让IIS支持PUT和Delete请求的方法

默认情况下,IIS拒绝PUT和Delete请求,原因为IIS默认注册了一个名为"WebDAVModule"的自定义HttpModule导致的,WebDAV的全称为"Web-based Distributed Authoring and Versioning",它是一个在多用户之间辅助协同编辑和管理在线文档的HTTP扩展,该扩展使应用程序可以直接将文件写到Web Server上,同时支持文件的枷锁和版本控制.

微软是推动WebDAV成为一个标准的主导力量,它自己利用自定义的HttpModule实现了针对WebDAV的支持.但是这个默认注册(注册名为"WebDAVModule")会拒绝HTTP方法为PUT和DELETE的请求,解决这个问题最为直接的方式就是利用如下的配置将注册的HttpModule移除.

<configuration>
 <system.webServer>
   <modules runAllManagedModulesForAllRequests="true">
     <remove name="webDAVModule"/>
   </modules>
 <system.webServer>
</configuration>