Ответ 1
Для инициализации ресурсов вы можете использовать метод запуска global.asax для запуска. Ресурсы, которые будут использоваться в основном в приложении.
Следующая ссылка должна помочь вам найти дополнительную информацию: http://www.asp.net/web-forms/tutorials/data-access/caching-data/caching-data-at-application-startup-cs
Подсказка: Если вы используете в процессе кэширования (что обычно бывает, если вы кешируете что-то в веб-контексте/потоке), имейте в виду, что ваше веб-приложение контролируется IIS. Стандартная конфигурация IIS отключит ваше веб-приложение через 20 минут, если запросы пользователей не будут обслуживаться. Это означает, что любые ресурсы, которые у вас есть в памяти, будут освобождены.
После этого в следующий раз, когда пользователь обратится к вашему веб-приложению, глобальный asax, запуск приложения снова будет отменен, поскольку IIS повторно инициализирует ваше веб-приложение. Если вы хотите предотвратить это поведение, вы либо настраиваете тайм-аут простоя пула приложений, чтобы не истечь через 20 минут. Или вы используете другую стратегию кэширования (постоянный кеш, распределенный кеш...).
Чтобы настроить IIS для этого, здесь вы можете найти дополнительную информацию: http://brad.kingsleyblog.com/IIS7-Application-Pool-Idle-Time-out-Settings/