我不得不接管另一位开发人员的MVC 3项目。他做的第一件事就是停止黄色死亡屏幕,以便所有异常只记录到文件中。您现在只收到一条说明发生错误的通用消息。
我想重新打开它(因为它一直很烦人,不得不一直查看日志文件) - 我该怎么做。
我检查了web.config但是我看不出这发生了什么。
我确实试过做了customersrors = off,但是没有做任何事情。还删除了全局错误处理属性,没有做任何事情。
进一步说明,似乎在控制器中发生异常,我确实得到死亡的黄色屏幕,但如果它出现在(剃刀)视图中,我只会得到一个标准的通用错误。
答案 0 :(得分:5)
通常在customErrors
下的system.web
元素中的web.config中设置此项。
只需尝试设置mode = Off:
<customErrors mode="Off" />
答案 1 :(得分:5)
这个问题有点旧,但也许这会对某人有所帮助。除了设置<customerErrors mode="Off" />
之外,还要将其设置在<system.webServer>
:<httpErrors errorMode="Detailed" />
<system.webServer>
<httpErrors errorMode="Detailed"/>
</system.webServer>
答案 2 :(得分:3)
在Global.asax
中,您可以从filters.Add(new HandleErrorAttribute());
删除public static void RegisterGlobalFilters(GlobalFilterCollection filters)
。
正如评论中指出的那样 - 问题在于自定义基本控制器覆盖了OnException方法。
答案 3 :(得分:1)
这些都不适合我。检查是否有人添加了代码以清除应用程序错误事件处理程序中的错误。
protected void Application_Error(object sender, EventArgs e)
{
Exception lastException = Server.GetLastError().GetBaseException();
Log.Error("Global.asax: WebApplication error", lastException);
//****Server.ClearError();
}