我有一个 .aspx 页面,其中包含一些需要很长时间才能执行并触发请求超时的同步代码。例如:
protected void Page_Load(object sender, EventArgs e)
{
var log = LogManager.GetLogger("test");
log.Debug("Before thread sleep...");
Thread.Sleep(99999999);
log.Debug("After thread sleep.");
}
在我的Global.asax
中,我添加了一些错误处理,可以通过电子邮件发送任何异常:
protected void Application_Error(Object sender, EventArgs e)
{
var exception = HttpContext.Current.Server.GetLastError();
SendExceptionEmail(exception);
}
问题是,在 中Global.asax
,我只能访问请求和响应以及发生的异常,但不能访问记录器的输出。我如何访问这个Global.asax
?没有它,如果不挖掘日志文件,我就无法判断是哪段代码挂起了应用程序,这是过滤的一项主要工作。