Global.asax文件的作用
简单地说,
Global.asax
与我们在
ASP.NET
中能够获得的传统的、可双击的
*.exe
很相近。这意味着这种类型表示了站点自身的运行时行为。一旦将
Global.asax
文件插入到
Web
项目中,你将注意到它与一个包含一套事件处理程序的
<script>
块是一样的:
<%@ Application Language="C#" %>
<script runat="server">
void Application
_
Start
(Object sender, EventArgs e)
{
//
运行应用程序启动的代码。
}
void Application
_
End
(Object sender, EventArgs e)
{
//
运行应用程序关闭的代码。
}
void Application
_
Error
(Object sender, EventArgs e)
{
//
当一个未处理过的错误发生时运行的代码。
}
void Session
_
Start
(Object sender, EventArgs e)
{
//
当一个新的会话被启动时运行的代码。
}
void Session
_
End
(Object sender, EventArgs e)
{
//
当一个会话结束时运行的代码。
}
</script>
然而,外表是具有欺骗性的。在运行时,
<script>
块内的代码被装载进一个派生自
System.Web. HttpApplication
的
类类型。如果你有
ASP.NET 1.x
的背景知识,也许会回想起
Global.asax
代码隐藏文件字面上
的确
定义了一个派生自
HttpApplication
的类。
定义在
Global.asax
内的成员是事件处理程序,这些事件处理程序允许你与应用程序级(以及会话级)事件交互。表
24-1
列出了每个成员的作用。