IIS拒绝PUT和DELETE请求是由于IIS为网站默认注册的一个名为WebDAVModule的自定义HttpModule导致的,如果我们的站点不需要提供针对WebDAV的支持,解决这个问题最为直接的方式就是利用如下配置将注册的HttpModule移除即可:
1 <system.webServer> 2 <modules runAllManagedModulesForAllRequests="true"> 3 <remove name="WebDAVModule" /> 4 </modules> 5 <handlers> 6 <remove name="WebDAV" /> 7 </handlers> 8 </system.webServer>
除了以上方法还可以通过在部署Web API的网站中,移除掉WebDav模块即可:
还可以通过在卸载WebDav发布: