一、首先描述一下生成环境
window server 2008 R2 enterprise 64位 IIS7.5
二、问题描述
IIS10默认支持http PUT和DELETE请求,但IIS7.5默认不接收PUT、DELETE等不常见的http谓词,如何让asp.net webform或者asp.net webapi在IIS7.5上支持这些请求呢?
三、解决方案
为了解决这个问题找了很多资料,以下为方案网址
1、http://www.iisboy.com/iis_article/1471.html 处理模块webDAV中设置Vebs
2、http://blog.csdn.net/huwei2003/article/details/47280289 移除webDAVModule和webDAV模块
经验证,以上两种方法都无法解决问题,最后在stackOverFlow上的一篇文章“
http://stackoverflow.com/questions/6739124/iis-7-5-enable-put-and-delete-for-restful-service-extensionless”评论中找到了解决方案,方案如下:
web.config中system.webServer添加
<modules runAllManagedModulesForAllRequests="true" runManagedModulesForWebDavRequests="true" >
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
</handlers>
最关键的就是在modules节点增加属性runManagedModulesForWebDavRequests="true"
|