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

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

2 ответов


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

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


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

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

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