2010-05-12 19 views
6

¿Cuándo usar y no usar el archivo global.asax en la aplicación asp.net? Escuché que deberías usar ese archivo solo en un apuro.ASP.NET global.asax uso

+0

¿Dónde escuchaste esto? ¿Y cuál fue el razonamiento? – Codesleuth

+0

No recuerdo exactamente, pero escuché que alguien contó esto. – Azat

Respuesta

6

El archivo Global.asax se utiliza para implementar los eventos de aplicación y el nivel de sesión, como por ejemplo:

Application_Init - disparado cuando una aplicación primero inicializa

Application_Start - Se activa cuando la aplicación se inicia por primera

Application_End - el evento final se desencadena cuando la aplicación finaliza o agota el tiempo

Session_Start - dispara la primera vez que se inicia una sesión de usuario

Application_BeginRequest - disparó con cada nueva petición

Application_EndRequest - Se activa cuando la aplicación termina

Application_AuthenticateRequest - el evento indica que una solicitud está listo para ser autenticado.

Application_Error - activa cuando se produce un error no manejado dentro de la aplicación

Session_End - disparado cada vez que una única sesión de usuario termina o tiempo de espera.

La implementación de estos controladores puede ser un uso legítimo de global.asax. Por ejemplo, el controlador de eventos Application_Error normalmente registra cualquier error global, y el controlador de eventos Application_End normalmente contiene lógica de limpieza de aplicaciones. Estos son buenos usos de Global.asax. Úselos siempre que sea necesario, y no tema si el archivo crece.

Sin embargo, he visto casos en los que los desarrolladores han agregado todo tipo de métodos globales al global.asax que de hecho no están justificados. Por ejemplo, mantenga la lógica comercial relacionada con un objeto de dominio particular dentro del objeto en vez de en el archivo.asax global. Si encuentra métodos en Global.asax que no deberían estar ahí, reordene el trabajo en la ubicación correcta.

1

global.asax es un HTTPModule. Todas las solicitudes pasan por global.asax y otros módulos antes de que lleguen a los manejadores de su página. Úselo para realizar ciertas tareas en su solicitud o respuesta, como url routing, global error handlign etc.

0

Si necesita que ocurra algo especial en Inicio/Fin de la aplicación o Inicio/final de sesión, o maneje globalmente excepciones que podría utilizar para mapear los eventos en los ciclos de vida de Apli cación y Sesión.

Cuestiones relacionadas