【问题标题】:How to change the Response StatusCode after the Request computing?Request计算后如何更改Response StatusCode?
【发布时间】:2018-04-12 19:43:47
【问题描述】:

我有一些难以实现的东西:在控制器操作中,出于多种原因(遗留代码),我必须在计算请求之后 覆盖响应。 我已经用下面的代码做到了:

HttpContext.Response.Buffer = false;
HttpContext.AddOnRequestCompleted(callbackFunction);

在响应准备好后,发送它:

HttpContext.Response.Buffer = true;

现在,问题是当 Response 计算失败时,我必须更改 Response 的 StatusCode ;但我总是得到 200。

请问你有什么想法吗?

【问题讨论】:

  • AFAIK,如果您禁用缓冲,Web 服务器会立即开始发送响应。鉴于 HTTP 响应以包含状态代码的状态行开头,在您开始发送响应后,您将无法更改状态代码。

标签: c# asp.net asp.net-mvc httpresponse http-response-codes


【解决方案1】:

在你的控制器中?

Response.StatusCode = 666;

【讨论】:

    猜你喜欢
    • 2019-07-15
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    相关资源
    最近更新 更多