Die ASP.NET 4-Web-API kann den Statuscode "201 - Erstellt" für einen erfolgreichen POST nicht zurückgeben

Ich versuche, einen HTTP-Statuscode von zurückzugeben201 Created für eine RESTful POST-Operation mit ASP.NET 4-Web-API, aber ich bekomme immer eine200 OK.

Ich debugge derzeit auf 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>

Ich habe andere Beispiele gesehen, woHttpContext.Current.Response.StatusCode wird gesetzt, bevor Daten zurückgegeben werden, daher hätte ich nicht gedacht, dass dies ein Problem wäre. Ich habe es in der MVC 4-Quelle noch nicht aufgespürt.

(Dies steht im Zusammenhang mit meinen Untersuchungen mitdiese Frage aber genug anderes Thema, um seine eigene Frage zu rechtfertigen)

Ich bin nicht sicher, ob das Problem IIS oder die Web-API ist. Ich werde weitere Tests durchführen, um es einzugrenzen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage