Asp.net 从HttpRequest获取状态代码

Asp.net 从HttpRequest获取状态代码,asp.net,request,sitecore,http-status-codes,Asp.net,Request,Sitecore,Http Status Codes,是否可以从当前请求(HttpRequest)获取HTTP状态代码?我正在将一个页面重定向到另一个代码为301的页面。但当我在重定向页面上时,该页面的响应状态代码为200。在浏览器中,我可以看到正确的代码(301)。只需查看状态代码: HttpContext.Current.Response.StatusCode 将页面重定向到另一个页面时(无论您使用301或302状态重定向的状态如何),有两个请求: 具有新位置的响应状态为301(或302)的第一个请求 第二个请求,其响应状态将为200(假设一

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

只需查看状态代码:

HttpContext.Current.Response.StatusCode

将页面重定向到另一个页面时(无论您使用301302状态重定向的状态如何),有两个请求:

  • 具有新位置的响应状态为301(或302)的第一个请求
  • 第二个请求,其响应状态将为200(假设一切正常),且页面内容已重定向
  • 当您在重定向页面上选中
    Response.StatusCode
    时,它将是301,但在重定向页面上,它将永远不会是301(除非您在第一次重定向之后进行另一次重定向)

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

    HttpContext.Current.Response.Status//获取类似“200 OK”的字符串
    HttpContext.Current.Response.StatusCode//仅获取int值,例如200
    
    那你想做什么?是的,我明白。因为当我使用自定义状态代码执行重定向时,它仅对当前http上下文是实际的。所以当我在重定向页面上时,我有了新的状态代码,因为我有了新的(独立的)http上下文。