5

我不得不从另一个开发人员那里接手一个 MVC 3 项目。他做的第一件事就是停止黄屏死机,以便所有异常都只记录到文件中。您现在只会收到一条通用消息,说明发生了错误。

我想重新打开它(因为不得不一直检查日志文件真的很烦人) - 我该怎么做。

我检查了 web.config 但我看不到发生这种情况的地方。

我确实尝试过 customerrors=off,但这并没有做任何事情。还删除了全局错误处理属性,没有做任何事情。

进一步澄清,如果控制器中发生异常,我确实会得到黄屏死机,但如果它发生在(剃刀)视图中,我只会得到标准的通用错误。

您可以在此处查看 web.config您可以在此处 查看 global.asax

4

4 回答 4

6

这个问题有点老了,但也许这会对某人有所帮助。除了设置之外<customerErrors mode="Off" />,还要在下面设置<system.webServer><httpErrors errorMode="Detailed" />

<system.webServer>
   <httpErrors errorMode="Detailed"/>
</system.webServer>
于 2011-04-18T16:01:05.510 回答
5

通常你在 web.config 中customErrorssystem.web. 只需尝试设置模式=关闭:

<customErrors mode="Off" />
于 2011-02-09T12:36:38.083 回答
4

Global.asax您可以filters.Add(new HandleErrorAttribute());public static void RegisterGlobalFilters(GlobalFilterCollection filters).

正如评论中所指出的 - 问题在于覆盖 OnException 方法的自定义基础控制器。

于 2011-02-09T12:40:16.757 回答
1

这些都不适合我。检查是否有人添加了代码来清除应用程序错误事件处理程序中的错误。

    protected void Application_Error(object sender, EventArgs e)
    {
        Exception lastException = Server.GetLastError().GetBaseException();

        Log.Error("Global.asax: WebApplication error", lastException);

        //****Server.ClearError();
    }
于 2014-08-28T16:32:23.723 回答