从Application_Error中抛出http异常(Unauthorized)

Sex*_*yMF 6 c# httpexception http-status-code-403 asp.net-mvc-3

我试图从Global asax Application_Error中抛出此行

throw new HttpException((int)HttpStatusCode.Unauthorized, "Forbidden");
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我在浏览器中得到200而不是401,你知道为什么吗?

更新:

protected void Application_Error(object sender, EventArgs e)
{        
    throw new HttpException((int)HttpStatusCode.Unauthorized, "Forbidden");
}
Run Code Online (Sandbox Code Playgroud)

Jac*_*han 1

这段代码可能对你有帮助

 protected void Application_Error(object sender, EventArgs e)
 {
     Response.StatusCode = (int)HttpStatusCode.Unauthorized;
     Server.ClearError();
 }
Run Code Online (Sandbox Code Playgroud)

但是,您应该在 web.config 中应用身份验证和授权,而不是在 Global.asax 中设置状态代码