Я пытаюсь устранить (или, по крайней мере, минимизировать )время запуска/прогрева для моих.NET-приложений. Я не совсем уверен, как это сделать, хотя это общая проблема.
Есть масса вопросов о медленном запуске приложений.NET. Это легко объяснить перезапуском пула, запуском рабочего процесса, динамической компиляцией файлов.aspx, JIT и т. д. Кроме того, в приложении может потребоваться инициализация других вещей, таких как EntityFramework и кэши приложений.
Я нашел много разных решений, таких как:
Однако я не полностью удовлетворен ни одним из приведенных выше решений. Кроме того, я развертываю свои приложения на веб-сайтах Azure (в большинстве случаев ), поэтому у меня ограниченный доступ к IIS.
Я знаю, что есть некоторые пользовательские «скрипты прогрева», которые используют различные методы для отправки запросов в приложение (, например. wget/завиток ). Моя идея состоит в том, чтобы создать страницу «Warmup.aspx» в каждом из моих приложений ASP.NET. Затем у меня есть служба прогрева, которая отправляет HTTP GET на Warmup.aspx каждого сайта каждые... 5 минут. Эта служба может быть рабочей ролью в Azure или службой Windows в -локальной установке. Затем Warmup.aspx выполнит следующее:
Так,мой последний вопрос: есть ли лучшие альтернативы моему сценарию «Warmup.aspx»? И это хороший подход или вы рекомендуете какой-то другой метод? Мне бы очень хотелось какой-нибудь официальный метод, который будет обрабатывать вышеуказанные критерии.
Приветствуются любые предложения, спасибо!