网上求助了下,靠谱的解释如下,IIS拒绝PUT和DELETE请求是由默认注册的一个名为:“WebDAVModule”的自定义HttpModule导致的。WebDAV的全称为:“Web-based Distributed Authoring and Version”它是一个在多用户之间辅助协同编辑和管理在线文档的HTTP扩展.。该扩展使应用程序可以直接将文件写到Web Server上,同时支持文件的加锁和版本控制。
微软是推动WebDAV成为一个标准的主导力量,它自己利用自定义的HttpModule实现了IIS针对WebDAV的支持。但是这个注册(注册名为:WcbDAVModule)会拒绝HTTP方法为PUT和DELETE的请求,如果我们的站点不需要提供针对WebDAV的支持,可以通过配置将注册地HttpModule移除。
经过验证可以,IIS 已经可以处理PUT和DELTE 方式的请求。配置方法如下:
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule"/>
</modules>
</system.webServer>
</configuration>