小编gdi*_*gdi的帖子

MVC5 抛出 401 的 HttpException 返回 500

我试图抛出 401 HttpException 但应用程序总是返回 500 而不是 401。当我抛出其他 4XX 错误时不会发生这种情况。

    public ActionResult Error401()
    {
         throw new HttpException(401, "Unauthorized");
    }
Run Code Online (Sandbox Code Playgroud)

我正在尝试为 500、404、403、400 和 401 创建自定义错误页面。对于除 401 之外的所有错误,我都获得了正确的页面,对于 401,我进入了浏览器 500 错误和 500 自定义错误页面。

   <system.web>
       <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/CustomErrors/InternalServerError.aspx">
            <error statusCode="500" redirect="~/CustomErrors/InternalServerError.aspx" />
            <error statusCode="404" redirect="~/CustomErrors/NotFound.aspx" />
            <error statusCode="403" redirect="~/CustomErrors/Forbidden.aspx" />
            <error statusCode="400" redirect="~/CustomErrors/BadRequest.aspx" />
            <error statusCode="401" redirect="~/CustomErrors/Unauthorized.aspx" />
        </customErrors>
   </system.web>



public class ErrorHandleAttribute : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        if (filterContext.HttpContext.IsCustomErrorEnabled == false)
        {
            return;
        }

        object exception = filterContext.Exception; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc web-config asp.net-mvc-4

5
推荐指数
1
解决办法
2409
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-4 ×1

c# ×1

web-config ×1