无法在ELMAH中记录代码500错误

And*_*NET 7 iis-7 elmah asp.net-mvc-2

在我在IIS 7中运行的ASP.NET 4.0 MVC项目中,我已经设置并配置了ELMAH以记录我的站点上的错误.但是,我无法获得有关代码500的错误的任何报告.

我设置了一个简单的控制器,它创建了一个被零除的异常,但是ELMAH没有记录它.我可以让ELMAH记录其他消息就好了,我没有过滤掉ErrorLog_Filtering中的任何异常.

另外,为了显示自定义页面,我更新了web.config的httpErrors部分,如下所示:

<customErrors mode="RemoteOnly" defaultRedirect="~/error/GenericError">
  <error statusCode="403" redirect="~/error/AccessDenied" />
  <error statusCode="404" redirect="~/error/NotFound" />
  <error statusCode="500" redirect="~/error/Offline" />
  <error statusCode="501" redirect="~/error/Offline" />
  <error statusCode="503" redirect="~/error/Offline" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

<system.webServer>
    <httpErrors errorMode="DetailedLocalOnly" >
        <error statusCode="403" prefixLanguageFilePath="" path="/error/AccessDenied" responseMode="ExecuteURL" />
        <error statusCode="404" prefixLanguageFilePath="" path="/error/NotFound" responseMode="ExecuteURL" />
        <error statusCode="500" prefixLanguageFilePath="" path="/error/GenericError" responseMode="ExecuteURL" />
        <error statusCode="501" prefixLanguageFilePath="" path="/error/GenericError" responseMode="ExecuteURL" />
        <error statusCode="503" prefixLanguageFilePath="" path="/error/Offline" responseMode="ExecuteURL" />
Run Code Online (Sandbox Code Playgroud)

最后,在查看应用程序日志文件时,代码500错误消息不会显示在那里.

是否存在我缺少的配置或者我是否在某种程度上意外地自行捕获错误并且不让它传播?

Nil*_*zor 4

HandleErrorAttribute您需要删除 FilterConfig.cs中添加过滤器的行RegisterGlobalFilters()这个问题有更多细节。