asp.net - session_end - Cuándo usar Application_Start vs Init en Global.asax?
web config asp net (2)
Desde los documentos de MSDN :
Los métodos Application_Start y Application_End son métodos especiales que no representan eventos HttpApplication. ASP.NET los llama una vez durante la vigencia del dominio de la aplicación, no para cada instancia de HttpApplication .
En eso:
Se llama una vez para cada instancia de la clase HttpApplication después de que se hayan creado todos los módulos.
ACTUALIZACIÓN: si necesita asegurarse de que un determinado código se llame solo una vez en la aplicación. ciclo de vida, Application_Start es una mejor solución. Ejemplos: configurando log4net?
Me pregunto bajo qué circunstancias debería poner el código de inicialización de la aplicación en Application_Start()
vs Init()
en mi archivo Global.asax
?
La distinción entre los dos no me parece muy obvia, aparte de que Application_start
se llama primero, luego Init()
.
- ¿Por qué debería usar uno sobre el otro?
- ¿Realmente hace la diferencia?
- ¿Qué cambios en el estado de la aplicación entre los dos eventos?
Hasta ahora, el único puntero real que puedo encontrar es que IHttpModule
solo tiene un método Init()
, así que si lo que estoy haciendo puede ser mejor en algún momento para implementar IHttpModule
, debería usar el método Init()
de Global.asax
, si nada más por consistencia.
Sí
Hay diferencias entre ellos. El evento Application_Start () se invoca solo una vez, mientras que el método Init () se invoca cada vez que se crea una instancia de la aplicación.