Не удается& #39; не заставить веб-API ASP.NET 4 возвращать код состояния «201 -Создано» для успешного POST

Я пытаюсь вернуть код состояния 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. Я сделаю дополнительные тесты, чтобы сузить его.

8
задан Community 23 May 2017 в 12:24
поделиться