我有一个Web API项目,我无法对它启用“PUT/Patch”请求。Web API - 405 - 请求的资源不支持http方法'PUT'
我从小提琴手得到的回应是:
HTTP/1.1 405 Method Not Allowed
Cache-Control: no-cache
Pragma: no-cache
Allow: GET,POST,DELETE
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?QzpcUHJvamVjdHNcZG90TmV0XFdlYkFQSVxBZFNlcnZpY2VcQWRTZXJ2aWNlXGFwaVxpbXByZXNzaW9uXDE1?=
X-Powered-By: ASP.NET
Date: Tue, 06 May 2014 14:10:35 GMT
Content-Length: 72
{"message":"The requested resource does not support http method 'PUT'."}
基于上述回应,“PUT”动词是不能接受的。但是,我无法确定相关处理程序的配置位置。
类的“放”的方法声明如下:
[HttpPatch]
[HttpPut]
public HttpResponseMessage Put(Int32 aID, [FromBody] ImpressionModel impressionModel)
{
bla, bla, bla, bla
}
我已阅读并实施的更改在以下主题解释说: - Asp.NET Web API - 405 - HTTP verb used to access this page is not allowed - how to set handler mappings - http://www.asp.net/web-api/overview/testing-and-debugging/troubleshooting-http-405-errors-after-publishing-web-api-applications
什么都没有做过在尝试针对我的Web API项目发出“PUT”命令时,我仍然收到了405响应。
我甚至在ApplicationsHost.config文件中注释掉了所有“Handlers”。
使用VS2012 Premium和IIS Express(我假设它是版本8)。我也尝试过VS Dev Server,但也给了我相同的结果。
我出来的想法。任何帮助,将不胜感激。
感谢李
对我来说也是不幸的。这是同样的问题。 –
+1,用于提供CodePlex中报告问题的链接。您也可以找到2个不同的链接,以获得可能的解决方法。由于问题没有解决就关闭了,所以我更喜欢在没有任何解决方法的情况下管理它,以避免过度设计我的Web API;) –
谢谢! 在PUT和POST上添加[Route](它在那里丢失)解决了我的问题。最后,关于web api路由的重要信息! – ticky