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.

Respuestas a la pregunta(2)

Su respuesta a la pregunta