【问题标题】:Application_Error is not fired on 404 errorApplication_Error 不会因 404 错误而触发
【发布时间】:2013-12-14 15:00:08
【问题描述】:

我使用 Application_Error 处理程序来记录所有未处理的异常;通常它运行良好,但总是会跳过 404 错误。任何想法可能是什么原因?

【问题讨论】:

标签: asp.net .net webforms


【解决方案1】:

实际上,这是因为这是您的 Web 服务器返回的 http 协议错误。这不是 .net 框架异常,因此 asp.net 无法处理它。但是,您可以将 IIS 配置为在返回 404 错误时提供自定义页面,这可以通过您的 web.config 文件完成。不用说,这个自定义页面可以是一个 aspx 页面,您可以在其中添加一些自定义处理,例如记录错误;)

【讨论】:

  • 这可能经常是错误的。大量对不存在资源的请求可以进入应用程序,然后无法解析路径并触发 HttpException 等。
【解决方案2】:

404 并不总是由异常引起。您只需设置 Response.Status* 字段即可生成 404 响应。

使用Application_EndRequest 检查响应并采取行动。

【讨论】:

    猜你喜欢
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 2011-05-16
    • 1970-01-01
    • 2012-04-17
    • 2014-02-02
    • 2010-12-08
    相关资源
    最近更新 更多