【发布时间】:2011-04-30 22:58:36
【问题描述】:
我在我的一个 ASP.NET MVC 项目中实现了 Elmah。此外,我还做了以下事情:
- 我在 post 中实现了 Atif Aziz 编写的 ElmahHandleErrorAttribute
- 我将属性添加到所有控制器中
- 我已设置 Elmah 以过滤掉 404 错误,因为我不想记录这些错误
- 我在共享文件夹中添加了一个 Error.aspx 视图,我希望将其用于我的所有错误。
- 我在 Web.Config 中的 customErrors 已打开,我没有在其中指定任何错误页面,因为我不应该这样做。
在我的一个控制器中,我有以下代码:
if (model == null)
throw new HttpException((int)HttpStatusCode.NotFound, "Project not found");
如果在数据库中找不到记录,我只想显示 404。由于某种原因,我的 Error.aspx 页面不会显示 404 错误。相反,它显示通用 asp.net“找不到资源”页面。我试图删除 Elmah 中的 404 过滤器设置,但这并没有改变任何东西。
有趣的是,如果我将错误从 NotFound 更改为 InternalServerError,Error.aspx 页面会正常显示。
有人知道这是为什么吗?
【问题讨论】:
-
“我已经设置 Elmah 过滤掉 404 错误,因为我不想记录这些错误。”这不是按预期工作吗?
标签: asp.net-mvc asp.net-mvc-2 elmah