Global.asax
Global.asax es un archivo opcional usado en las aplicación web de ASP.NET para declarar y manejar eventos y objetos a nivel de aplicación y de sesión. Global.asax es la extensión de archivo Global.asa utilizado en ASP. El archivo Global.asax reside en el directorio virtual raíz de una aplicación ASP.NET en IIS. En tiempo de ejecución, antes de la llegada de la primera solicitud, Global.asax es analizado y compilado en una clase dinámicamente generada del .NET Framework. ASP.NET está configurado para que cualquier solicitud directa del Global.asax sea automáticamente rechazada, los usuarios externos no pueden ver o descargar el código en el.[1]
El código para manejar eventos de aplicación (tales como el inicio y el final de una aplicación) residen en el Global.asax. Tales códigos de eventos no pueden residir en una página web o en un servicio web, pues durante el inicio o el final de la aplicación, su código no ha sido cargado (o descargado). Global.asax es también usado para declarar datos que están disponibles en diferentes solicitudes de la aplicación y a través de diferentes sesiones del navegador. Este proceso es conocido como administración del estado de sesión y aplicación.
El archivo Global.asax debe residir en la raíz virtual del IIS. Un directorio virtual puede ser visto como un contenedor de una aplicación web. Los eventos y estado especificados en el archivo global son entonces aplicados a todos los recursos alojados dentro de la aplicación web. Si, por ejemplo, Global.asax define una variable de estado a nivel de aplicación, todos los archivos .aspx dentro del directorio virtual tendrá acceso a la variable.
El archivo Global.asax de ASP.NET puede coexistir con el archivo Global.asa de ASP. El archivo Global.asax puede ser creado en un diseñador WYSIWYG o como una clase compilada que se distribuye en el directorio \Bin de la aplicación o en un ensamblado. Sin embargo, en el último caso, necesitas un archivo Global.asax que haga referencia al ensamblado.
Al igual que las páginas ASP.NET, el archivo Global.asax es compilado durante la llegada de la primera solicitud de cualquier recurso de la aplicación. La similitud continúa cuando algún cambio es hecho al archivo Global.asax: ASP.NET automáticamente detecta los cambios, recompila el archivo, y dirige todas las solicitudes a las nueva compilación.
Referencias
- MSDN: Global.asax Syntax (en inglés)