IT干货网

IIS 7.5 和 Web API 2 PUT/DELETE 请求

sanshao 2025年12月25日 编程设计 153 0

这似乎是一个常见问题,但我已经解决了人们获得的所有其他技术并且没有运气,所以这里是:

我在 Windows Server 2010 上运行 WebAPI2 和 IIS7.5。在开发过程中,我在 IIS 的 HTTP 处理程序中添加了 PUT/DELETE 处理程序后,我的 PUT/DELETE 请求开始工作。但是,一旦我滚动到 prod 并应用了相同的更改,我就没有这样的运气了。这是我的设置:

网络配置









服务器:



要求:

 Request URL:http://dev.myserver.com/myapp/api/apps/76a09a7b-0750-4045-a3ce-696df0ff179c 
 Request Method:PUT 
 Status Code:405 Method Not Allowed 
 
 405 - HTTP verb used to access this page is not allowed. 
 The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access. 

响应 header :
 Allow:GET, HEAD, OPTIONS, TRACE 
 Content-Length:1293 
 Content-Type:text/html 
 Date:Thu, 21 Nov 2013 15:43:44 GMT 
 Server:Microsoft-IIS/7.5 
 X-Powered-By:ASP.NET 

不知不觉它很疯狂,因为那个动词是 Not Acceptable ,但配置表明它是。我看到另一篇关于从 IIS 中的模块中删除 WebDav 模块的文章,但是,一旦我这样做了,我得到了 500 内部服务器错误(可能是因为需要它,呵呵)。就像我说的这段代码在开发中正常工作,所以我不确定断开连接是什么。

请您参考如下方法:

似乎我错过了 WebDav 的“HttpHandler”删除。以下作品:

<system.webServer> 
   <modules> 
      <remove name="WebDAVModule" /> 
   </modules> 
   <handlers> 
      <remove name="WebDAV" /> 
   </handlers> 
</system.webServer> 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!