Мы выполняем некоторые операции кэширования в фазе application_start в приложении. Таким образом, весь кеш уходит, когда пул приложений перезапускается. Можно ли запускать application_start при перезапуске пула приложений или у вас есть идеи для решения этой проблемы?
Запустите Application_Start немедленно, когда пул приложений перезагрузится в IIS
Ответ 1
Вы можете использовать Инициализация приложений для IIS 7.5, он заимствует функциональность из IIS8, или если вы используете ASP.NET 4.0 +, есть автоматический запуск приложения.
Для ASP.NET 2.0 я 3.5 существует довольно хакерское решение IMO, вы можете регистрировать пул приложений в журнале событий, а затем в журнале событий установить задачу, которая будет выполняться на этом событии, вот подробности
Ответ 2
Application_Start вызывается только при первом запросе. Я не уверен, что это хорошая идея кэшировать что-то, если запросы не сделаны.
Я бы просто загрузил кеш при первом запросе. Ваш CacheManager может решить, нужно ли автоматически загружать данные.
Вы боитесь, что первый запрос будет медленнее?