Si vas a hacer ASP.NET, definitivamente usarás IIS
Si quieres añadir una tarea programada a tu aplicación ASP.net, debes usar un hilo para hacer los cálculos programados sin parar
Entonces, supongamos que añadimos Quartz.NET framework a nuestra ASP.Net aplicación, y la configuración y demás están bien.
Este sitio tiene muy pocas visitas, y ahora solo unas pocas personas lo usan cuando están en el trabajo, pero al día siguiente fui y vi que los hilos y las tareas de cálculo de la programación en segundo plano se habían detenido, y si descargas Application_End evento, verás que este evento realmente se llamó.
Entonces debe de haber algún problema en el mecanismo de reciclaje de pools de aplicaciones de IIS. Porque la configuración predeterminada de IIS es que si no se accede ni solicita el pool de aplicaciones de un sitio durante un periodo de tiempo, IIS recuperará automáticamente el pool de programas y cancelará el proceso. Los hilos de ese proceso definitivamente no sobrevivirán.
Sin embargo, podemos establecer los parámetros del pool de aplicaciones para que no se reciclen automáticamente (algunas situaciones son inevitables, como sitios desplegados en caliente, un número excesivo de errores, etc.)
Encuentra el conjunto de programas que utiliza este sitio en IIS y haz clic en "Configuración avanzada..."
Cambia la siguiente configuración en la lista que se abre:
Recuperación - Intervalo de tiempo fijo (minutos) cambiado a 0
- Límite de memoria virtual/dedicada (KB) cambiado a 0
Modelo de proceso: el tiempo de espera de inactividad (minutos) se cambia a 0
De este modo, el conjunto de programas no se reciclará automáticamente y algunos hilos de cómputo simples en segundo plano funcionarán con normalidad |