Предотвращение перезапуска промежуточного сайта во время обмена
Насколько я понимаю, единственная причина, по которой промежуточный сайт потребовал бы перезагрузки, это наличие параметров приложения или строк подключения, настроенных как параметры слотов.
Хотя это не всегда кажется правдой. Одно из наших приложений будет перезагружено независимо. Я использовал командлеты Powershell, чтобы быть уверенным, что нет никаких настроек слотов, "скрытых" от портала (потому что, очевидно, это вещь).
Какие другие факторы могут определить, будет ли перезапуск сайта перезапуска во время обмена?
(Я разместил это в хранилище GitHub kudu, но не получил ответ)
РЕДАКТИРОВАТЬ:
В ответ на ответ Байрона:
Я провел довольно тщательное тестирование (см. Мой репозиторий для тестирования), и я могу выполнять замену слотов (с предварительным просмотром и без него) без перезапуска рабочего или промежуточного слотов. Это очевидно без настроек слота, настроенных в Веб-приложениях.
Значит ли это, что перезапуски не гарантированы? Проблема, которую я здесь поднимаю, заключается в том, что, если перезапуск не произойдет, модуль инициализации приложения IIS по-прежнему будет гарантировать, что приложение действительно прогрелось (поскольку это может занять пару минут)?
1 ответ
Вы правы в том, что промежуточный слот всегда будет перезапущен до замены, если есть настройки приложения или строки подключения, помеченные как настройки слота. Есть несколько других условий, которые вызывают перезапуск, например, когда включено непрерывное развертывание, как описано здесь http://ruslany.net/2014/03/azure-web-sites-continuous-deployment-with-staged-publishing/. Другая причина перезапуска - это когда проверка подлинности сайта включена либо в производственном, либо в промежуточном слоте.
Если перезапуска нет, модуль appinit не будет перезапущен во время подкачки, потому что он запускается только при инициализации рабочего процесса. Если вы хотите, чтобы всегда был перезапуск, вы можете просто создать фиктивную настройку приложения и отметить ее как настройку слота.
В моем понимании
Настройки без слотов с разными значениями должны потребовать перезапуска исходного сайта (настройки без слотов с разными значениями обмениваются при каждом обмене)
Настройки слотов должны требовать перезапуска исходного сайта только в режиме предварительного просмотра. (без режима предварительного просмотра каждый слот остается со своими настройками слота)