Escenario: Tengo una aplicación ASP.NET empresarial n-Tier implementada utilizando proyectos de implementación web. Todos los niveles producen ensamblajes independientes consumidos por la aplicación ASP.NET.¿Cómo mantener activos los ensamblados de ASP.NET en AppDomain?
Problema: Cuando ejecuto la aplicación. por primera vez después del despliegue, lleva mucho tiempo cargar ensamblajes dependientes en la memoria. Pero una vez cargada su aplicación de iluminación rápida. En caso de que no haya usuarios accediendo a la aplicación, IIS descarga los ensamblajes de la memoria y cuando un usuario intenta acceder a la aplicación en una instancia posterior, continúa cargando todos los ensamblajes, tomando la misma cantidad de tiempo para cargarlos. toma hacerlo por primera vez.
Estoy buscando una solución que me permita mantener mis ensamblajes cargados en la memoria anulando persistentemente la naturaleza volátil de los ensamblajes hacia la residencia de memoria.
O cualquier otra solución que permita a mis usuarios utilizar felizmente la aplicación que resuelve el problema mencionado.
Tengo un servidor compartido. No tengo acceso a la configuración de IIS en ese detalle. ¿De alguna manera podemos hacer esto por código o configuración a nivel de aplicación? –
@s_ruchit el control del grupo de aplicaciones y los procesos de trabajo está en el alcance de IIS, por lo que no. La solución más común en su situación es tener una aplicación que viva en otra computadora (por ejemplo, una estación de trabajo siempre activa) que llegue a una página en su sitio cada ~ 10-15 minutos. Un servicio que no he utilizado personalmente y que pretende hacer eso para usted se puede encontrar en http://www.keepaliveforever.com/ –
@Rex M: Eso fue fabuloso. Nunca salí de la caja. ¡Podría ser tan simple! Gracias una tonelada. De hecho, podríamos escribir nuestro propio cliente http para mantener la aplicación viva siempre. –