IIS 7.5和Web API 2放置/删除请求

IIS 7.5和Web API 2放置/删除请求,iis,asp.net-web-api,iis-7.5,Iis,Asp.net Web Api,Iis 7.5,这似乎是一个常见的问题,但我已经解决了所有其他技术问题,但人们都没有遇到运气,因此: 我正在Windows Server 2010上运行WebAPI2和IIS7.5。在开发过程中,在我将PUT/DELETE处理程序添加到IIS的HTTP处理程序中后,我的PUT/DELETE请求开始工作。然而,一旦我使用prod并应用相同的更改,我就没有这样的运气了。这是我的设置: 网络配置 服务器: 要求: Request URL:http://dev.myserver.com/myapp/api/app

这似乎是一个常见的问题,但我已经解决了所有其他技术问题,但人们都没有遇到运气,因此:

我正在Windows Server 2010上运行WebAPI2和IIS7.5。在开发过程中,在我将PUT/DELETE处理程序添加到IIS的HTTP处理程序中后,我的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.
响应标题:

 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

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

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

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


你试过选择
所有动词
选项吗?@NikolaiSamteladze是:(你试过从你的
中删除
WebDavModule
?你能在这500个错误上发布你的配置或详细信息吗?效果很好。保存了我的尾巴。:)在没有web.config文件的情况下是否可以解决此问题?@Mitulátbáti如果您有权访问IIS管理器,您可以通过单击站点找到“处理程序映射”和“模块”部分,并手动删除WebDAV处理程序和WebDAV模块。但不要错过,在新的发布操作之后,这个处理程序和模块会再次出现,而不会修改web配置。