【问题标题】:MVC Application_start localhost redirected you too many timesMVC Application_start localhost 将您重定向了太多次
【发布时间】:2016-08-23 19:20:58
【问题描述】:

我得到错误:

localhost 将您重定向了太多次。

当我从Application_Start 方法重定向到错误页面时。

我的代码如下所示:

 protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }

    protected void Application_Error(Object sender, EventArgs e)
    {    
        var exception = Server.GetLastError();   

        if (exception != null)
        {    
            Session["w"] = exception;
            Response.Clear();
            Server.ClearError();
            Response.Redirect("~/Admin/Error");    
        }
    }
}

【问题讨论】:

  • 显示视图/admin/error时会不会出错?
  • 不...它给了我一个空白页面说 localhost 重定向你太多次

标签: c# asp.net asp.net-mvc


【解决方案1】:

在这种情况下使用 Session 不是一个好主意。如果错误是由未标记为IRequiresSessionStateIHttpHandler 触发的,则访问会话将失败。所以,你会有一个重定向循环。

去掉session的使用,尝试使用:

Response.Redirect(String.Format("~/Admin/Error?w={0}", exception.Message));

【讨论】:

  • 感谢您的帮助 :) ... 现在它给了我此消息 找不到路径“/favicon.ico”的控制器或未实现 IController。我想我需要先过滤异常类型
  • 当然,我做到了:) ...现在我有另一个问题...当它重定向到错误视图时,如果用户单击刷新它会再次出现同样的错误,你能帮我吗?避免这种情况
  • 谢谢@Tom。所以,正如我所说,如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。在新问题中描述您的新问题并在此处留下链接
【解决方案2】:

这个问题很可能与您上面提到的缺少favicon.ico 文件导致的File Not Found 错误有关。

要解决这个问题,只需将favicon.ico 文件添加到项目根目录即可。

(可选)您可以更新错误处理以避免在检测到 404 时重定向。

protected void Application_Error(Object sender, EventArgs e)
{    
    var exception = Server.GetLastError();   

    if (exception != null && exception != 404)
    {    
        Session["w"] = exception;
        Response.Clear();
        Server.ClearError();
        Response.Redirect("~/Admin/Error");    
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 2020-08-26
    • 2020-01-03
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    相关资源
    最近更新 更多