ASP.NET (Core) WebAPI IIS PUT和DELETE请求失败 405的解决办法

本地调试没问题,在线上环境上IIIS拒绝PUT和DELETE请求是由于IIS为网站默认注册的一个名为WebDAVModule的自定义HttpModule导致的,如果我们的站点不需要提供针对WebDAV的支持,解决这个问题最为直接的方式就是利用如下配置将注册的HttpModule移除即可:
1
2
3
4
5
6
7
8
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发布:

原文地址:https://www.cnblogs.com/51net/p/13034570.html