Ich schreibe Daten in HTTP-Antwort unter Verwendung PushStreamContent
Klasse. Ich muss einen geeigneten HTTP-Statuscode abrufen, der vom Ergebnis der onStreamAvailable
Delegiertenausführung abhängt. Hier ein Beispielcode:HttpResponse - wie Statuscode festgelegt wird, hängt vom PushStreamContent-Ausführungsergebnis ab
[HttpGet]
public HttpResponseMessage Get(int id)
{
try
{
HttpResponseMessage response = this.Request.CreateResponse();
response.Content = new PushStreamContent((Stream outputStream, HttpContent content, TransportContext context) =>
{
try
{
throw new Exception("Just an exception");
response.StatusCode = HttpStatusCode.OK;
}
catch (Exception ex)
{
using (StreamWriter sw = new StreamWriter(outputStream))
{
sw.WriteLine(ex.Message);
sw.Flush();
}
response.StatusCode = HttpStatusCode.InternalServerError;
}
});
return response;
}
catch (Exception ex)
{
return this.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
}
}
Das obige Beispiel ruft immer den Statuscode 200 (Ok) ab. Wie kann ich es reparieren?