2010-02-26 16 views

Respuesta

70

MSDN has an outline de la finalidad del fichero global.asax.

Efectivamente, global.asax le permite escribir código que se ejecuta en respuesta a eventos de "nivel de sistema", como el inicio de la aplicación, una sesión que termina, un error de aplicación, sin tener que probar y codificar ese código en todas y cada una de las páginas de su sitio.

Puede utilizarlo seleccionando Agregar> Nuevo elemento> Clase de aplicación global en Visual Studio. Una vez que haya añadido el archivo, puede agregar el código en cualquiera de los eventos que se muestran (y crean de forma predeterminada, por lo menos en Visual Studio 2008):

  • Application_Start
  • Application_End
  • Session_Start
  • Session_End
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_Error

Hay otros eventos que también puede enganchar, como "LogRequest".

+1

La entrada para global.asax ha sido eliminada de Wikipedia. –

+0

@CathySullivan, actualizado, gracias! :) – Rob

+0

¿Podemos agregar el archivo global.asax para el formulario de Windows? –

1

Global.asax se puede usar para manejar eventos que surjan de la aplicación. Este enlace proporciona una buena explicación: http://aspalliance.com/1114

5

Global.asax es el archivo de la aplicación asp.net.

Es un archivo opcional que maneja eventos creados por ASP.NET o por HttpModules. Se utiliza principalmente para aplicaciones y eventos de inicio/final de sesión y para el manejo global de errores.

Cuando se utiliza, debe estar en la raíz del sitio web.

42

Eventos globales asax explican

Application_Init: Se activa cuando una aplicación inicializa o se llama en primer lugar. Se invoca para todas las instancias de objetos HttpApplication.

Application_Disposed: Encendido justo antes de que se destruya una aplicación. Esta es la ubicación ideal para limpiar los recursos utilizados anteriormente.

Error de aplicación: Se activa cuando se encuentra una excepción no controlada dentro de la aplicación.

Application_Start: Se activa cuando se crea la primera instancia de la clase HttpApplication. Le permite crear objetos a los que pueden acceder todas las instancias de HttpApplication.

Application_End: Se activa cuando se destruye la última instancia de una clase HttpApplication. Se dispara solo una vez durante la vida de una aplicación.

Application_BeginRequest: Se activa cuando se recibe una solicitud de aplicación. Es el primer evento disparado para una solicitud, que a menudo es una solicitud de página (URL) que ingresa un usuario.

Application_EndRequest: El último evento desencadenado para una solicitud de aplicación.

Application_PreRequestHandlerExecute: Encendido antes de que el marco de páginas de ASP.NET comience a ejecutar un controlador de eventos como una página o un servicio web.

Application_PostRequestHandlerExecute: Se activa cuando el marco de la página ASP.NET termina de ejecutar un controlador de eventos.

Applcation_PreSendRequestHeaders: Disparado antes de que el marco de la página ASP.NET envíe encabezados HTTP a un cliente solicitante (navegador).

Application_PreSendContent: Encendido antes de que el marco de páginas de ASP.NET envíe contenido a un cliente solicitante (navegador).

Application_AcquireRequestState: Se activa cuando el marco de página ASP.NET obtiene el estado actual (estado de sesión) relacionado con la solicitud actual.

Application_ReleaseRequestState: Se activa cuando el marco de página ASP.NET completa la ejecución de todos los controladores de eventos. Esto da como resultado que todos los módulos de estado guarden sus datos de estado actuales.

Application_ResolveRequestCache: Se activa cuando el marco de página de ASP.NET completa una solicitud de autorización. Permite que los módulos de almacenamiento en caché atiendan la solicitud desde el caché, evitando así la ejecución del manejador.

Application_UpdateRequestCache: activa cuando el marco de páginas ASP.NET completa ejecución del gestor de almacenamiento en caché para permitir que los módulos para almacenar las respuestas que se utilizará para manejar las solicitudes posteriores.

Application_AuthenticateRequest: Se activa cuando el módulo de seguridad ha establecido la identidad del usuario actual como válida. En este punto, las credenciales del usuario han sido validadas.

Application_AuthorizeRequest: Se activa cuando el módulo de seguridad ha verificado que un usuario puede acceder a los recursos.

Session_Start: Se activa cuando un nuevo usuario visita el sitio web de la aplicación.

Session_End: Se activa cuando la sesión de un usuario expira, finaliza o abandona el sitio web de la aplicación.

0

El directorio raíz de una aplicación web tiene un significado especial y cierto contenido puede estar presente en esa carpeta. Puede tener un archivo especial llamado "Global.asax". El framework ASP.Net usa el contenido en el archivo global.asax y crea una clase en el tiempo de ejecución que se hereda de HttpApplication. Durante la vida útil de una aplicación, ASP.NET mantiene un conjunto de instancias HttpApplication derivadas de Global.asax. Cuando una aplicación recibe una solicitud http, el marco de página ASP.Net asigna una de estas instancias para procesar esa solicitud . Esa instancia es responsable de administrar toda la vida útil de la solicitud a la que está asignada y la instancia solo puede reutilizarse después de que la solicitud se haya completado cuando se devuelve al grupo. Los miembros de la instancia en Global.asax no se pueden usar para compartir datos entre las solicitudes, pero puede ser un miembro estático. Global.asax puede contener los controladores de eventos del objeto HttpApplication y algunos otros métodos importantes que ejecutarían en varios puntos en una aplicación web

Cuestiones relacionadas