ASP.NET 应用程序级别的事件处理程序

ASP.NET 自动使用 Application_event 的命名约定(如 Application_BeginRequestApplication_Error)将应用程序事件绑定到 Global.asax 文件中的事件处理程序方法。 有关更多信息,请参见 IIS 5.0 和 6.0 的 ASP.NET 应用程序生命周期概述

此代码示例处理应用程序级别的 Error 事件,并将错误信息写入系统事件日志中。 只要出现应用程序错误或未处理的页错误,就会引发 Error 事件。

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

  1. 如果网站还没有 Global.asax 文件,请在该站点的根目录下创建一个这样的文件。

  2. 创建一个事件处理程序方法,其名称遵循“Application_事件”模式。例如,若要处理应用程序 Error 事件,请创建名为 Application_Error 的处理程序,此处理程序采用 Object 参数和 EventArgs 参数。

下面的代码示例显示了 Global.asax 文件中用于 Error 事件的处理程序。 只要应用程序中的任何位置发生未经处理的异常,都会调用该示例中的处理程序。 当在 try/catch 块中捕捉到异常或者由页对象的 Error 事件捕捉到异常时,应用程序将不会引发 Error 错误。

C#
VB
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 方法获取与错误关联的错误信息,然后将这条错误信息写入该日志中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值