C# MVC应用程序启动localhost重定向您的次数太多
我得到一个错误: localhost重定向您的次数太多 当我从C# MVC应用程序启动localhost重定向您的次数太多,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我得到一个错误: localhost重定向您的次数太多 当我从Application\u Start方法重定向到错误页面时 我的代码如下所示: protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); } protected void Applicatio
Application\u 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");
}
}
}
在这种情况下使用会话不是一个好主意。如果错误是由未标记有
IRequiresessionState
的IHttpHandler
触发的,则访问会话将失败。因此,您将有一个重定向循环
删除会话的使用并尝试使用:
Response.Redirect(String.Format("~/Admin/Error?w={0}", exception.Message));
该问题很可能与您上面提到的缺少
favicon.ico
文件导致的文件未找到
错误有关
要解决此问题,只需将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");
}
}
显示视图/管理/错误时是否会出错?否。。。它给了我一个空白页面,说localhost重定向了您太多次谢谢您的帮助:)。。。现在它给我一条消息,路径“/favicon.ico”的控制器未找到或未实现IController。我想我需要先过滤异常类型当然,我是这样做的:)。。。现在我有另一个问题。。。当它重定向到错误视图时,如果用户单击“刷新”,它会再次出现相同的错误,请您帮助我避免这种情况。谢谢@Tom。所以,正如我说的,如果你有一个新问题,请点击按钮提问。如果此问题有助于提供上下文,请包含指向此问题的链接。在新问题中描述您的新问题,并将链接留在此处