Вы правы, что пул приложений должен регистрировать события перезапуска, но я отмечаю, что вы не перечислены, отключив перезапуск полностью.
По умолчанию IIS настраивает пулы своих приложений на перезапуск каждые 29 часов (1740 минут), что означает, что он не будет перезагружаться в одно и то же время каждый день, но будет перезагружаться. Однако по умолчанию он должен выполнить «перекрывающуюся перезапуск», когда он вызывает новый экземпляр до того, как выключит старый.
Существует несколько опций, которые могут помочь, если это вызвано событиями перезапуска:
- Отключите утилизацию, установив «Регулярный интервал времени» на
0
.
- Оставьте его включенным, но используйте функции Application Initialization для правильного прогрева приложения. Это часть IIS 8 и модуль, который можно установить в версии 7.5.
Вы уже установили режим запуска на Always Running
, но с помощью модуля инициализации приложения вы также можете объявить страницу , которую сервер запросит во время запуска, чтобы прогреть ваше приложение:
<system.webServer>
<applicationInitialization
doAppInitAfterRestart="true">
<add initializationPage="/default.aspx" hostName="myhost"/>
</applicationInitialization>
</system.webServer>