IIS10默认支持http PUT和DELETE请求,但IIS7.5(或更低)默认不接收PUT、DELETE等不常见的http谓词,如何让asp.net webform或者asp.net webapi在IIS7.5上支持这些请求呢?
在网上我也试了很多方法:比如
- 跨域配置。
- 干掉web.config下system.webServer节点下的<remove name="OPTIONSVerbHandler" />的这个配置。
- 修改IIS的
的限制动作。等等
有些同学在做了以上的操作问题可能得到了解决,而有些同学做了这些操作却无济于事,当然本人也是没有解决。最终用下面的方法解决了这个问题
注:WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝、移动、删除等。在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDav把Put,Delete给干掉了。所以在IIS 7.5上部署的RESTful服务(WCF Data Service,WCF Rest Service,ASP.NET Web API,ASP.Net MVC)就不行了,当发送Put请求就会发生HTTP Err