global.asax 位于应用程序根目录下。虽然 visual studio .net 会自动插入这个文件到所有的 asp.net 项目中,但是它实际上是一个可选文件。删除它不会出问题——当然是在你没有使用它的情况下。.asax 文件扩展名指出它是一个应用程序文件,而不是一个使用 aspx 的 asp.net 文件。
global.asax 文件被配置为任何(通过 url 的)直接 http 请求都被自动拒绝,所以用户不能下载或查看其内容。asp.net 页面框架能够自动识别出对global.asax 文件所做的任何更改。在 global.asax 被更改后asp.net 页面框架会重新启动应用程序,包括关闭所有的浏览器会话,去除所有状态信息,并重新启动应用程序域。
不是每个请求都触发的事件。
1.Application_Start():当第 1 位用户进入 ASP.NET 程序时,Application_Start 事件就触发,在触发后,就算有成千上万位用户进入网站都不会重新触发,除非 Web 服务器关机。通常用来初始化 Application 变量,例如初始的访客计数
2.Session_Start():当用户建立 Session 时间时,就触发 Session_Star 事件,如果有 50 位用户,就触发 50 次事件,每个事件是独立触发的,不会互相影响,通常用来初始化用户专用的 Session 变量
3.Application_Error():当产生未能处理错误时,触发 Application_Error 事件
4.Session_End():当用户在默认时间内没有进入其他ASP.NET 程序时,就会触发此事件,时间是由 TimeOut 属性设定,通常是善后用途的程序代码,例如将 Session 变量存入数据库或文本文件
5.Application_End():当 Web 服务器关机时,Application_End 事件就会触发
|