WebActivator PreApplicationStart
en realidad se basa en ASP.NET PreApplicationStartMethodAttribute (ver this enlace para ver cómo funciona el activador web).
PreApplicationStartMethodAttribute
funciona cuando ASP.NET runtime starts up la aplicación y el código se ejecuta al principio de la canalización incluso antes de que se active el evento app_start. Entonces, para responder a su pregunta, el desencadenante ocurriría cuando se realizara la primera solicitud al servidor web (lo que a su vez activará el inicio de la aplicación).
Tenga en cuenta que el desencadenador está relacionado con el inicio de la aplicación ASP.NET y no con el grupo de aplicaciones. Su grupo de aplicaciones podría estar ejecutándose debido a alguna otra aplicación (puede ser una aplicación que no sea ASP.NET), pero cuando llegue la primera solicitud para la aplicación ASP.NET, este desencadenante ocurrirá (para una aplicación determinada) porque la aplicación se inicia.
Si está utilizando la función auto-start, IIS reiniciará su aplicación en el reciclaje de su grupo de aplicaciones y, por lo tanto, se activará PreApplicationStart
.
El artículo que brindó de ScottGu fue genial. Tengo curiosidad por saber qué opinas sobre esta interfaz 'IProcessHostPreloadClient'. Dado que parece que puede tener su propia lógica de almacenamiento en caché antes de que la aplicación reciba su primera solicitud, ¿cree que es una buena alternativa en lugar de usar 'PreApplicationStartMethod' para ejecutar el código antes de que se reciban las solicitudes? – Eli
@Eli, el propósito exacto de IProcessHostPreloadClient es agregar lógica de calentamiento para la aplicación (el código que tradicionalmente se ejecuta en el evento app_start o PreApplicationStartMethod. El único problema es que necesita IIS 7.5 y todavía hay pocos entornos de prueba basados en Win 2003/2008 y entornos dev en XP. – VinayC
@VinayC, la función de inicio automático NO activará Application_Start, ¿está seguro de que desencadena el evento PreApplicationStart? –