【发布时间】:2010-08-22 04:33:09
【问题描述】:
在 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>
和
<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" />
最后,在查看应用程序日志文件时,代码 500 错误消息不会显示在那里。
是否有我遗漏的配置,或者我自己不小心捕获了错误并且没有让它传播?
【问题讨论】:
标签: asp.net-mvc-2 iis-7 elmah