对于错误处理,我已将以下代码添加到Web.config:
<system.web>
<customErrors mode="On" defaultRedirect="~/Error.cshtml?">
</customErrors>
<system.web>
在Global.asax.cs中:
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
Response.Redirect("/Error.cshtml?");
}
但是,当重定向到/Error.cshtml?发生时,出现错误'此页面有重定向循环'
我搜索了其他类似的问题(例如How to solve Redirect Loop)。但是,我没有其他路由调用Error.cshtml - 所以有谁知道是什么导致这个循环以及我如何解决它?
编辑:发生了多个错误,因此错误页面重定向涉及重定向循环。有没有人知道只调用一次Response.Redirect(“〜/ Error.cshtml”)的方法?
EDIT2:如果我将重定向网址更改为项目外的随机网址(例如https://www.facebook.com/),则customError重定向正常工作。仍在寻找一种方法来重定向到项目页面而不会无限循环错误
答案 0 :(得分:0)
尝试添加:
Server.ClearError();
首先清除重定向前的现有错误。
答案 1 :(得分:0)
添加redirectMode =&#34; ResponseRewrite&#34;到customErrors部分。