ASP.NET 应用程序日志中的未处理错误 - 如何禁用?

ASP.NET 应用程序日志中的未处理错误 - 如何禁用?

正如标题所述 - 如何禁用事件日志中出现的所有 ASP.NET 未处理错误?在 IIS / web.config 中看不到任何明显的东西...

答案1

我现在能想到的最简单的方法是通过基于代码的解决方案,而不是 web.config。在应用程序的 global.asax 文件中,您可以添加 Application_Error 事件处理程序。在这里,您可以做任何您想做的事情来记录错误(或不记录......),然后重定向到适当的错误页面。Context.ClearError()在重定向之前调用,并且不会启动任何标准的 ASP.Net 未处理的异常内容。不过,这不是处理这个问题的好方法,所以希望其他人有更好的答案。

仅执行此功能的简单 global.asax 如下所示:

<%@ Application Language="C#" %>
<%@ Import namespace="System.Diagnostics" %>
<script runat="server">
protected void Application_Error(object src, EventArgs e)
{
  Exception ex = Server.GetLastError();
  // do whatever you want to the error itself (ex.Message, etc.)
  // ####
  // clear out the ASP.Net error
  Context.ClearError();
  // redirect to an error page
  Response.Redirect("errorpage.aspx");

}
</script>

综上所述,必须有一种方法可以使用 web.config healthMonitoring 部分来做到这一点,我只是想不明白如何说“关闭所有事件的日志记录”。

相关内容