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发布:

技术图片

 

相关文章