大话Global.asax文件

 本文已经进行修改,详情见http://blog.csdn.net/han_yankun2009/article/details/10006579

什么是global文件

         有时候叫做 ASP.NET应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。你可以使用这个文件实现应用程序安全性以及其它一些任务

 

概述:

        Global.asax位于应用程序根目录下。虽然 Visual Studio .NET 会自动插入这个文件到所有的 ASP.NET项目中,但是它实际上是一个可选文件。删除它不会出问题——当然是在你没有使用它的情况下。

          Global文件被配置为任何直接Http请求都被自动拒绝。所以用户不能下载或查看内容。ASP.NET 页面框架能够自动识别出对Global.asax文件所做的任何更改。在 Global.asax 被更改后ASP.NET页面框架会重新启动应用程序,包括关闭所有的浏览器会话,去除所有状态信息,并重新启动应用程序域。

 

编程:

           Global文件继承自HttpApplication,它维护一个Httpapplication对象池,并在需要的时候将对象池中的对象分配给应用程序。

          Httpapplication对象的一个实例在生存期内被用于处理多个请求,但一个只能处理一个请求。

 

Global文件包含的常见事件有

 

事件或方法

说明

Application_Start

请求 ASP.NET 应用程序中第一个资源(如页)时调用。在应用程序的生命周期期间仅调用一次 Application_Start 方法。可以使用此方法执行启动任务,如将数据加载到缓存中以及初始化静态值。

在应用程序启动期间应仅设置静态数据。由于实例数据仅可由创建的HttpApplication 类的第一个实例使用,所以请勿设置任何实例数据。

Application_ event

在应用程序生命周期中的适当时候引发,Application_Error 可在应用程序生命周期的任何阶段引发。

由于请求会短路,因此 Application_EndRequest 是唯一能保证每次请求时都会引发的事件。例如,如果有两个模块处理Application_BeginRequest 事件,第一个模块引发一个异常,则不会为第二个模块调用 Application_BeginRequest 事件。但是,会始终调用 Application_EndRequest 方法使应用程序清理资源。

HttpApplication.Init

在创建了所有模块之后,对 HttpApplication 类的每个实例都调用一次。

Dispose

在销毁应用程序实例之前调用。可使用此方法手动释放任何非托管资源。

Application_End

应用程序结束时,在最后一个HttpApplication销毁之后执行。对应Application_Start,在整个生命周期里面也是只执行一次

 

Session_Start

会话开始时执行。 

Session_End

会话结束或过期时执行

 

小结:

Global.asax文件是用户创建应用程序时自动创建的,它代表的是一个应用程序,不直接接收Http请求。它存储在应用程序的根目录中,具有定义应用程序的边界,初始化应用程序级或会话级变量,连接数据库,发送Cookie等功能

 

 


你可能感兴趣的:(asp.net)