可以使用Application_EndRequest而不是Application_Error吗?

时间:2014-12-17 12:11:16

标签: asp.net error-handling

我想在ASP.NET应用程序中处理所有未捕获的异常。我想向用户显示自定义UI,但不要重定向它们(因此URL将是产生异常的原始URL)。我也有ELMAH由最终用户配置(好吧,最终管理员,但不是我)。 Elmah为Application.Error事件附加了一个处理程序,并将其记录在那里。

我现在有两个可能的地方来处理错误并生成输出Application_ErrorApplication_EndRequest。逻辑位置为Application_Error,但这有两个问题:

  1. 如果我不使用ClearError()删除异常,ASP.NET将使用它自己的默认输出替换我的输出。
  2. 但是如果我用ClearError()删除它,那么ELMAH可能不会得到异常,因为事件处理程序执行顺序是未定义的。
  3. 我检查过Application_EndRequest错误仍然存​​在,所以我可以在那里做,但这感觉有点......错了。这样做可以惹麻烦吗?

0 个答案:

没有答案