Запустите Application_Start немедленно, когда пул приложений перезагрузится в IIS

Мы выполняем некоторые операции кэширования в фазе application_start в приложении. Таким образом, весь кеш уходит, когда пул приложений перезапускается. Можно ли запускать application_start при перезапуске пула приложений или у вас есть идеи для решения этой проблемы?

Ответ 1

Вы можете использовать Инициализация приложений для IIS 7.5, он заимствует функциональность из IIS8, или если вы используете ASP.NET 4.0 +, есть автоматический запуск приложения.

Для ASP.NET 2.0 я 3.5 существует довольно хакерское решение IMO, вы можете регистрировать пул приложений в журнале событий, а затем в журнале событий установить задачу, которая будет выполняться на этом событии, вот подробности

Ответ 2

Application_Start вызывается только при первом запросе. Я не уверен, что это хорошая идея кэшировать что-то, если запросы не сделаны.

Я бы просто загрузил кеш при первом запросе. Ваш CacheManager может решить, нужно ли автоматически загружать данные.

Вы боитесь, что первый запрос будет медленнее?