从HttpRequest获取状态代码

时间:2013-08-14 16:55:33

标签: asp.net request sitecore http-status-codes

是否可以从当前请求(HttpRequest)获取HTTP状态代码?我将一个页面重定向到另一个页面,代码为301.但是当我处于重定向页面时,该页面的响应状态代码为200.在浏览器中,我可以看到正确的代码(301)。

2 个答案:

答案 0 :(得分:8)

将页面重定向到另一个页面时(无论您使用 301 302 状态重定向的状态),都有2个请求:

  1. 使用新位置的响应状态为 301 (或 302 )的第一个请求
  2. 响应状态为 200 的第二个请求(假设一切正常),其中包含重定向页面的内容。
  3. 当您在重定向页面上检查Response.StatusCode时,它将 301 ,但在重定向页面上,它将永远不会 301 (除非您在第一次重定向之后再进行重定向)。

    要从当前请求的响应中获取HTTP状态代码,请使用:

    HttpContext.Current.Response.Status // to get the string like '200 OK'
    HttpContext.Current.Response.StatusCode // to get only the int value, e.g. 200
    

答案 1 :(得分:2)

只需查看状态代码:

HttpContext.Current.Response.StatusCode