我已经实现Elmah在我的一个ASP.NET 视项目。此外,我做了如下:

  • 我实施的ElmahHandleErrorAttribute由阿提夫*阿齐兹在这
  • 我加入的属性,我所有的控制器
  • 我已经设置Elmah过滤出404错误因为我不想要登录这些
  • 我加了一个错误。aspx视的共享文件夹,我想使用我所有的错误。
  • 我customErrors中的网站。Config都打开我还没有指定任何错误页它作为我不应该。

在我的一个控制器具有下列代码:

if (model == null)
            throw new HttpException((int)HttpStatusCode.NotFound, "Project not found");

我只是想显示404如果记录不能找到在数据库。由于某些原因我的错误。aspx页将不会显示对于一个404错误。相反,它显示一般asp.net "资源不能被发现"网页。我有试图删除的404过滤器安装在Elmah但这不会改变任何东西。

有趣的部分是,如果我改变错误NotFound说InternalServerError的错误。aspx页显示出来就好了。

没有任何人有任何针对为什么这是什么?

有帮助吗?

解决方案

我没有用Elmah超出创造一个样本应用程序的-但也许因为404不应用程序错误?如果我的理解是正确的,404错误被推回到IIS这反过来显示错误信息。此外,我认为,网络。硬币

如果我理解正确,您可能想修正你的方法和建立使用这个 而不是 或者设置的 Response.StatusCode 404(检查了杰夫的回答在的联系问题)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top