我试图使用ASP.NET 4 Web API为RESTful POST操作返回HTTP状态代码201,但我总是得到200 OK.
我目前正在调试IIS 7.5.7600.16385,VS 2010 Professional,Windows 7 64位专业版.
public MyResource Post(MyResource myResource) { MyResource createdResource; ... HttpResponse response = HttpContext.Current.Response; response.ClearHeaders(); // added this later,no luck response.ClearContent(); // added this later,no luck response.StatusCode = (int)HttpStatusCode.Created; SetCrossOriginHeaders(response); return createdResource; }
我已经看到其他示例在返回数据之前设置了HttpContext.Current.Response.StatusCode,所以我不认为这会是一个问题.我还没有在MVC 4源代码中跟踪它.
(这与我对this question的调查有关,但有足够的主题来保证自己的问题)
我不确定问题是IIS还是Web API.我会做进一步的测试来缩小范围.