Я пытаюсь вернуть код состояния HTTP 201 Created
для операции RESTful POST с использованием веб-API ASP.NET 4, но я всегда получаю 200 OK
.
В настоящее время я отлаживаю IIS 7.5.7600.16385, VS 2010 Professional, Windows 7 64 -bit Professional.
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.
(Это связано с моими исследованиями с этим вопросом , но достаточно другой темой, чтобы оправдать собственный вопрос)
Я не уверен, связана ли проблема с IIS или с веб-API. Я сделаю дополнительные тесты, чтобы сузить его.