【问题标题】:Elmah (mvc4) ignores the customErrors (but it logs)Elmah (mvc4) 忽略 customErrors (但它记录)
【发布时间】:2012-08-28 14:35:10
【问题描述】:

我刚刚将一个 MVC3 项目迁移到 4.

我还安装了 ELMAH 的最新更新。

我确实遇到了未处理异常的问题。

在我的 web.config 我有这个:

<customErrors mode="On" defaultRedirect="/Error/Error" redirectMode="ResponseRedirect">
  <error statusCode="404" redirect="/Error/NotFound" />
</customErrors>

当我得到一个未处理的异常时,Elmah 会记录它,那里没有问题,但它不会将我发送到错误/错误视图。它也不做'ResponseRedirect'

它的作用是保持 URL 不变,并显示共享文件夹中的 Error.aspx 视图。

如何在某处更改设置,使 customErrors 不会被忽略?

【问题讨论】:

  • 您在控制器中使用[HandleError] 属性,不是吗?
  • 不,我没用过[HandleError]

标签: web-config asp.net-mvc-4 elmah


【解决方案1】:

如果您看到Error.aspx 页面,那么肯定是HandleError 过滤器在它后面播放。转到Global.asax.cs 并检查HandleErrorAttribute 没有添加到RegisterGlobalFilters 方法中。

还要确保您没有覆盖控制器的 OnException 方法并自己手动执行某些操作。

【讨论】:

  • 我已经注释掉了//filters.Add(new HandleErrorAttribute());,但这并没有解决我的问题
  • 另外,这在 MVC3 中完美运行,我只迁移到 4。所以一定是这样。
猜你喜欢
  • 2013-07-12
  • 2013-05-21
  • 2011-09-19
  • 1970-01-01
  • 2010-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
相关资源
最近更新 更多