Global.asax 文件(也称作 ASP.NET 应用程序文件)是可选文件,包含用于响应 ASP.NET 或 HttpModule 引发的应用程序级别事件的代码。Global.asax 文件驻留在基于 ASP.NET 的应用程序的根目录中。在运行时,分析 Global.asax 文件并将其编译到一个动态生成的 .NET Framework 类,该类是从 HttpApplication 基类派生的。Global.asax 文件本身被配置为自动拒绝对它的任何直接 URL 请求;外部用户无法下载或查看在该文件中编写的代码。
ASP.NET Global.asax 文件能够与 ASP Global.asax 文件共存。您可以在 WYSIWYG 设计器中或"记事本"中创建 Global.asax 文件,或者将它创建为编译的类并将该类作为程序集部署在应用程序的 Bin 目录中。但是,在后面的一种情况中,您仍需要一个引用该程序集的 Global.asax 文件。
Global.asax 文件是可选的。如果不定义该文件,ASP.NET 页框架假设您未定义任何应用程序或会话事件处理程序。
当您将更改保存到活动 Global.asax 文件时,ASP.NET 页框架检测到该文件已被更改。它完成应用程序的所有当前请求,将 Application_OnEnd 事件发送到任何侦听器,并重新启动应用程序域。实际上,这会重新启动应用程序,关闭所有浏览器会话并刷新所有状态信息。当来自浏览器的下一个传入请求到达时,ASP.NET 页框架将重新分析并重新编译 Global.asax 文件并引发 Application_OnStart 事件。