Asp.NET Web API - 405 - 不允许用于访问此页面的 HTTP 动词 - 如何设置处理程序映射

标签 asp.net asp.net-mvc iis iis-7 asp.net-web-api

我使用 ASP.NET Web API 编写了 REST 服务。 我正在尝试发送 HttpDelete 请求,但收到以下错误:

405 - HTTP verb used to access this page is not allowed

我想我已经接近解决方案了,我发现我应该启用 IIS 远程管理,转到处理程序映射部分并将 DELETE 动词添加到适当的位置... 但问题是名单上有很多不同的位置...... (就像这里:http://www.somacon.com/p126.php)。

我应该编辑哪一个? 其中很少有没有扩展名,例如“ExtensionUrlHandler-Integrated-4.0”,我向其中添加了 DELETE 动词,但它仍然不起作用...

修改那个只是瞎猜,所以我应该修改不同的位置吗?如果有,是哪一个?或者也许还有什么我应该做的?

同一个 Web 服务在我的本地服务上工作得很好,所以我猜问题出在远程 IIS...

问候

最佳答案

您不需要卸载 WebDAV,只需将这些行添加到 web.config 中即可:

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

关于Asp.NET Web API - 405 - 不允许用于访问此页面的 HTTP 动词 - 如何设置处理程序映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9854602/

相关文章:

asp.net-mvc-4 - 使用 IIS8 的 MVC 应用程序中的堆损坏

IIS 7.5 连接问题

javascript - 在 asp.net 中隐藏更新面板中的 div

asp.net - iis 8.5 中用于 mvc 和 webapi 应用程序的路由

c# - GridView 问题

c# - 如何在 C# WebBrowser 控件中获取重定向的 url

asp.net-mvc - ASP.NET MVC - 当 SRP 和 DRY 出现冲突时

asp.net - 是否可以根据所使用的子域在同一个 ASP.NET 网站上使用多个不同的 ssl 证书?

c# - 抑制 ASP.NET PageMethods 文档注释

c# - 如何在 ASP.NET 中为自动实现的属性设置默认值