IIS部署WebAPI,PUT/DELETE报错405
在使用IIS部署WebAPI的时候,当请求类型为PUT或者是DELETE的时候,IIS会报错
HTTP Error 405 - Method Not Allowed
其实有很多种解决方法,这里介绍一种移除WebDAV文件的方法来解决这个问题。首先来介绍一下什么是WebDAV
WebDAV是超文本传输协议(HTTP)的一组扩展,为Internet上计算机之间的编辑和文件管理提供了标准,利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝、移动以及删除等。在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDAV将PUT和Delete给阉割了。所以在IIS 7.5上部署的RESTful服务(WCF,WebAPI,ASP.NET MVC),当发送PUT或者DELETE请求时,就会出现405的错误。
解决办法很简单,在配置文件中将WebDAV移除了就行了,修改web.config
配置文件
1 | <system.webServer> |