Почему IIS в веб-ролях Azure необходимо так часто перекомпилировать приложения ASP.NET?

У меня есть приложения ASP.NET, развернутые в различных средах (AppHarbor, Azure, DiscountASP.NET, GoDaddy и т. Д.), И одна вещь, которая беспокоит меня при развертывании в Azure, заключается в том, что мои сайты с низким трафиком получают JIT- компилируется, если не было запроса более двух часов.

Очевидно, что я мог бы решить эту проблему, увеличив объем трафика на мой сайт (я шучу) или попытавшись сделать какие-то хакерские вещи с помощью предварительной компиляции, но я бы лучше понял, почему сайт должен постоянно компилироваться в Azure. Я никогда не замечал эту проблему на других провайдерах (даже на GoDaddy) для сайтов с низким трафиком - есть ли для этого какая-то причина, и могу ли я что-нибудь сделать в конфигурационных файлах Azure, чтобы это остановить?

1 ответ

Решение

Увеличьте настройки времени ожидания пула приложений с помощью задачи запуска веб-роли. У Стива Маркса есть пост о том, как это сделать в Azure. Вы можете войти с удаленного рабочего стола, чтобы изменить это, чтобы проверить - но этот параметр будет сорван при следующем развертывании.

В других средах параметры пула приложений, вероятно, настроены иначе. Это немного раздражало меня, когда я впервые настраивал свой сайт Azure.

Другие вопросы по тегам