ASP.NET 将应用程序事件绑定到 Global.asax 文件中定义的事件处理方法,这些方法通常以“Application_事件名”的格式进行命名(如 Application_BeginRequest 和 Application_Error)。
本例处理应用程序的 Error 事件,并把错误信息写入系统事件日志。Error 事件通常在应用程序出现错误或发生未知的页面错误时被引发。
如何创建 ASP.NET 应用程序级事件处理器
-
如果网站中没有 Global.asax 文件,请先到根目录创建一个。
-
创建以“Application_事件名”格式命名的事件处理方法。比如,可以为应用程序的
Error事件创建名为Application_Error的处理器方法,该方法需要使用两个参数类型,一个是Object,另一个是EventArgs。
实例
下列代码实例演示了如何在 Global.asax 文件中处理 Error 事件。实例中的处理器在应用程序发生任何未知异常时都会被调用。如果异常在页面对象 Error 事件的 try/catch 块中被捕获,那么应用程序不再引发该错误。
void Application_Error(Object sender, EventArgs e)
{
if(!System.Diagnostics.EventLog.SourceExists("ASPNETApplication"))
{
System.Diagnostics.EventLog.CreateEventSource("ASPNETApplication", "Application");
}
System.Diagnostics.EventLog.WriteEntry("ASPNETApplication", Server.GetLastError().Message);
}
代码在系统事件日志中添加一条记录。首先检测事件日志中是否已经存在名为 ASPNETApplication 的记录,不存在则创建它。然后调用 GetLastError 方法获取到相关错误信息描述,并更新到系统日志。
编译代码
安全性
运行这个代码实例需要拥有对系统事件日志的存取权限。
浙公网安备 33010602011771号