我已经设置和配置ELMAH登录我所有的错误上ASP.NET 视项目的,我的工作。它将被用于由一小组的用户不需要知道的太多了所以每当有 任何 排序错误(404,InvalidOperation,Y2K...任何东西!) 我只是想给他们一个一般默认错误景说明呼吁我们的服务台和当紧张。

ELMAH是建立和运行良好,而我们的客户服务工作人员将用于诊断错误和日志/提升票,因为必要的。我的问题是在得到我的全球错误页。我使用的解决方案公布 在这里, 确保ELMAH和[HandleError]发挥好一起。

网。config是这样:

<customErrors mode="On" />

如果我访问 http://application/Home/Index 其中有一个皇宫的错误(序列不包含的元素)然后,我我很好,一般错误景/Shared/误差。aspx但是如果我试图访问 http://application/Fake/Broken 这是一个404然后我得到通常的ASP.NET

Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly.

Requested URL: /Fake/Broken

两个错误记录的完全由ELMAH虽然。

有帮助吗?

解决方案

如果你只是希望表现出一般性的错误页面,那么你可以指定页面本身:

<customErrors mode="On" defaultRedirect="error.htm" />

这将导致所有未处理的异常,而不是页面创立等,以显示你的“error.htm”。你可以更具体有关的错误代码,但:

<customErrors mode="On">
  <error statusCode="404" redirect="notfound.htm"/>
</customErrors>

其他提示

如果您使用的是IIS 7,您可能需要添加到您的

<system.webServer>

在配置文件部分

<httpErrors errorMode="Custom" existingResponse="PassThrough" />
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top