No se puede obtener la API web de ASP.NET 4 para devolver el código de estado “201 - Created” para un POST exitoso
Estoy tratando de devolver un código de estado HTTP de201 Created
para una operación POST RESTful utilizando ASP.NET 4 Web API, pero siempre obtengo una200 OK
.
Actualmente estoy depurando en IIS 7.5.7600.16385, VS 2010 Professional, Windows 7 64-bit Professional.
<code>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; } </code>
He visto otros ejemplos dondeHttpContext.Current.Response.StatusCode
está configurado antes de devolver los datos, así que no pensé que esto sería un problema. No lo he rastreado en la fuente MVC 4 todavía.
(Esto está relacionado con mis investigaciones conesta pregunta pero lo suficientemente diferente para justificar su propia pregunta)
No estoy seguro de si el problema es IIS o la API web. Haré más pruebas para reducirlo.