【发布时间】:2017-03-10 11:44:53
【问题描述】:
我使用PushStreamContent 类将数据写入http 响应。我需要检索适当的 HTTP 状态代码取决于 onStreamAvailable 委托执行的结果。这是一个示例代码:
[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);
}
}
上面的示例总是检索状态代码 200(Ok)。我该如何解决?
【问题讨论】:
标签: c# httpresponse http-response-codes pushstreamcontent