【问题标题】:Ektron and Elmah - 404 Errors not being loggedEktron 和 Elmah - 未记录 404 错误
【发布时间】:2015-05-15 13:50:13
【问题描述】:
我目前正在配置 ELMAH 1.2 以在我们的 Ektron 9.1 应用程序中记录错误,但它不会记录任何 404 错误。 ELMAH 目前可以正常工作,因为它正在记录其他错误(包括未处理的异常),而不是 404 错误。我没有运行 MVC 环境/3 层 Ektron 架构,我们仍在使用传统的 ASP.NET/Ektron Web 表单解决方案。
我知道 ELMAH 默认会记录这些错误,所以我想知道我是否遗漏了有关 ELMAH 如何与 Ektron 交互的信息。关于该主题的信息不多,我发现的一篇文章是 2010 年的,因此信息严重过时。
【问题讨论】:
标签:
http-status-code-404
elmah
ektron
【解决方案1】:
以 .aspx 和其他结尾的 URL 不同。如果用户访问您的站点并访问 /ThisFileisnothere.html,静态文件处理程序将处理该问题。 Ektron 将静态文件处理程序替换为 EkDavHttpHandlerFactory。 Ektron 的处理程序不会抛出异常。它不会触发 Application.Error 事件。它只是将 statusCode 设置为 404。如果您想做一些自定义操作,例如将错误记录到 ELMAH,您可以挂钩 Application.PostRequestHandlerExecute 并检查 Response.StatusCode
如果用户尝试访问 /ThisPageisntHere.ASPX,则另一个处理程序将处理该 URL,并将触发 ELMAH 应捕获的 Application.Error 事件。