2010-10-12 15 views
6

Tengo una clase llamada Global que deriva de HttpApplication.¿Confundido sobre global.asax?

Curiosamente, veo un montón de métodos dentro Global que se parecen:

void Application_Start(object sender, EventArgs e) 
{ 
} 

El código se ejecuta sin duda dentro de este método, por lo que el método está siendo llamado de alguna parte, pero ¿dónde? Los métodos no están marcados sobrecarga?

En segundo lugar, obtuve una clase de Global, llamémosla GlobalFoo.

Una vez más, si creo un método llamado Application_Start() que se llamará dentro de mi clase derivada, de lo contrario nada de lo que hay en Global se llamará así que bien podría ser que se derivan de una clase vacía.

¿Alguien puede ofrecer algún consejo? ¿Me estoy perdiendo parte fundamental de ASP.NET?

Respuesta

1

so the method is being called from somewhere, but where?

Estas funciones se llaman desde el grupo de aplicaciones (de cada grupo que tiene de asignación), para señalar eventos de puesta en marcha/finales de su aplicación y ayudar a su con inicializaciones.

Cada piscina que es asignar a ejecutar la aplicación web se ejecuta esas funciones.

asp.net es que le ayuda a crear diferentes objetos/código externo o no que se pueden ejecutar juntos, y eso es por qué ve que todo su código registrado ejecuta. Es una ayuda para crear más de una rutina de "inicio" que hace diferentes pensamientos.

Este is an example, este módulo solo verifica el protocolo de seguridad por él mismo ... y no necesita cambiar nada en su código, solo regístrelo.

-1

El archivo Global.asax es un archivo opcional que se utiliza para declarar y controlar los eventos y objetos de aplicación y de nivel de sesión para un sitio Web ASP.NET que se ejecuta en un servidor Web de IIS

algunos de los eventos clave en este file son:

  • Application_Init: Se enciende cuando la aplicación se inicializa por primera vez.
  • Application_Start: inicia la primera vez que se inicia una aplicación.
  • Session_Start: Se inicia por primera vez cuando se inicia la sesión de un usuario.
  • Application_BeginRequest: Se activa cada vez que entra una nueva solicitud.
  • Application_EndRequest: Se inicia cuando la aplicación finaliza.
  • Application_AuthenticateRequest: Indica que una petición está listo para ser autenticado.
  • Application_Error: se activa cuando ocurre un error no controlado dentro de la aplicación.
  • Session_End: se activa cada vez que finaliza una sesión de usuario o agota el tiempo de espera.
  • Application_End: Se activa cuando la aplicación termina o el tiempo de espera (típicamente utilizados para la lógica de la aplicación de limpieza).

Para obtener una lista completa de eventos Global.asax, consulte "Global.asax Events".

+0

Realmente no me importan los eventos en sí, estoy confundido sobre dónde y cómo se llaman – maxp

0

IIS llama a los diferentes eventos Global.asax a través del filtro ISAPI asp.net.

Quizás this article ayudará a explicar.

Cuestiones relacionadas