Я настраиваю автозапуск ASP.NET на моей веб-роли Windows Azure (я использую ASP.NET 4.5 и IIS 8 в Windows Server 2012). Я в основном следовал those instructions.IIS Auto-Start не отключается Idle Timeout
Я устанавливаю startMode="AlwaysRunning"
на пул приложений и preloadEnabled="true"
на веб-сайте через метод OnStart webrole.
Я использовал удаленный доступ и подтвердил, что эти два свойства правильно установлены (через диспетчер IIS, а также проверку файла applicationHost.config).
Я также добавил это в файл web.config:
<applicationInitialization skipManagedModules="true">
<add initializationPage="/" />
</applicationInitialization>
Это page говорит Idle Timeout должен быть отключен, если автозапуск включен. Тем не менее, из моего журнала видно, что это не так, пул приложений перезапускается после некоторого бездействия. Я также можно увидеть, что в журнале регистрации событий (несколько раз в течение 6 часов):
рабочий процесс с идентификатором процесса «772» служит пул приложений «cf9d3284-6454-4bbf-8a8e-efd73df4ed83» был остановлен из-за к бездействию. Конфигурация тайм-аута пула приложений была установлена на 20 минут. При необходимости будет запущен новый рабочий процесс.
Странно, что кажется, что новый пул приложений запускается сразу после его регистрации, даже если на веб-сайте нет запроса. Поэтому, если в течение одного часа я не получаю ни одного запроса, пул приложений перезагружается и перезапускается 3 раза (я подтвердил это из журналов). Является ли моя конфигурация некорректной или я что-то упускаю?