加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-2 – 无法在ELMAH中记录代码500错误

发布时间:2020-12-16 03:51:33 所属栏目:asp.Net 来源:网络整理
导读:在我在IIS 7中运行的ASP.NET 4.0 MVC项目中,我已经设置并配置了ELMAH以记录我的站点上的错误.但是,我无法获得有关代码500的错误的任何报告. 我设置了一个简单的控制器,它创建了一个被零除的异常,但是ELMAH没有记录它.我可以让ELMAH记录其他消息就好了,我没有
在我在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错误消息不会显示在那里.

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

解决方法

您需要删除在FilterConfig.cs中的RegisterGlobalFilters()中添加过滤器HandleErrorAttribute的行.更多细节在 this question.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读