ASP.NET 实践:创建 ASP.NET 应用程序级别的事件处理器

ASP.NET 将应用程序事件绑定到 Global.asax 文件中定义的事件处理方法,这些方法通常以“Application_事件名”的格式进行命名(如 Application_BeginRequestApplication_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 方法获取到相关错误信息描述,并更新到系统日志。

编译代码
安全性

运行这个代码实例需要拥有对系统事件日志的存取权限。

转载于:https://www.cnblogs.com/Laeb/archive/2006/12/08/586644.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值