我试图从 Global asax Application_Error 中抛出这一行
throw new HttpException((int)HttpStatusCode.Unauthorized, "Forbidden");
但出于某种原因,我在浏览器中得到的是 200 而不是 401,你知道为什么吗?
更新:
protected void Application_Error(object sender, EventArgs e)
{
throw new HttpException((int)HttpStatusCode.Unauthorized, "Forbidden");
}
最佳答案
这段代码可能对你有帮助
protected void Application_Error(object sender, EventArgs e)
{
Response.StatusCode = (int)HttpStatusCode.Unauthorized;
Server.ClearError();
}
但是,您应该在 web.config 中应用身份验证和授权,而不是在 Global.asax 中设置状态代码
关于c# - 从 Application_Error 抛出 http 异常(未经授权),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11537607/