Comment empêcher IIS de fermer le site Web lorsqu'il n'est pas utilisé?
J'ai une application Web hébergée sous IIS. Il s'agit d'un entrepôt de données et, au cours de son processus de démarrage, il nécessite l'instanciation d'un grand ensemble d'éléments en mémoire (cela prend environ 20 minutes pour une configuration complète). Parce que ce site Web est essentiel pour notre entreprise, ce système doit être en ligne à 100% pendant la journée et ne peut être redémarré que pendant les heures de travail.
Pour une raison quelconque, cette application Web semble être "hors ligne" lorsqu'elle n'est pas utilisée pendant un certain temps. Je le sais car le cache n'est pas complètement instancié lorsque le site Web est visité. C'est inacceptable.
Je ne vois pas pourquoi le site Web est fermé. Le pool d'applications n'est configuré pour être recyclé que tous les jours à 4h00 du matin (il est 11h00 maintenant).
Y a-t-il d'autres paramètres dont je ne suis pas au courant sur la partie IIS qui provoquent la fermeture automatique du site Web?
Remarque supplémentaire: le site Web ne s'arrête pas automatiquement lors de l'exécution dans IISExpress dans Visual Studio. Seule la version de production hébergée sur IIS s'arrête.
Voici un écran des paramètres avancés du pool d'applications sous lequel le site Web s'exécute. (Je ne sais pas si c'est utile.)
Je suis sur IIS 7.5, Server 2008 R2. Il s'agit d'une application Web ASP.NET 5.
Vérifiez les paramètres de délai d'inactivité sous le modèle de processus dans la capture d'écran. Ce paramètre entraîne l'arrêt du pool d'applications lorsqu'il reste inactif pendant 20 minutes. Vous pouvez le mettre à 0 pour qu'il continue à fonctionner tout le temps, même lorsqu'il est inactif, c'est-à-dire qu'il ne traite aucune demande.
Remarque: maintenir le pool d'applications en cours d'exécution à tout moment consommera la précieuse mémoire du serveur. Cela peut devenir critique, en particulier si l'application perd de la mémoire.