global.asax文件概述
global.asax这个文件包含全局应用程序事件的事件处理程序。它响应应用程序级别和会话级别事件的代码。
运行时, Global.asax 将被编译成一个动态生成的 .NET Framework 类,该类是从HttpApplication基类派生的。
因此在global.asax中的代码可以访问HttpApplication类中所有的public或者protected的成员
global.asax不被用户直接请求,但global.asax中的代码会被自动执行来响应特定的应用程序事件。
global.asax是可选的,而且在一个web项目中是唯一的,它应该处于网站的根目录。
一个请求的完整处理过程
以下过程由Internet Information Service(inetinfo.exe)(IIS)执行
1.客户端发出请求
2.验证请求
3.给请求授权
4.确定请求的缓存
5.获取缓存状态
6.在请求的处理程序执行前
7.http处理程序执行请求 (asp.net页面由aspnet_wp.exe执行)
8.在请求的处理程序执行后
9.释放请求状态
10.更新请求缓存
11.请求结束
global.asax中的事件
global.asax中的所有事件可以分成两种,一种是满足特定事件时才会被触发,一种是每次请求都会被按照顺序执行的事件。
下面是一个例子,包含了global.asax中包含的所有事件。
<%@ Application Language="C#" %>