Подобные блокировки всегда были проблемой при развертывании сайта в реальном времени. Причина, по которой его трудно реплицировать, заключается в том, что вы выполняете промежуточный запрос при копировании / компиляции на сервере, и это приводит к путанице в IIS.
Мы применяем стратегию Blue / Green развертывания на 4-уровневой архитектуре, в которой веб-сайт имеет более 4 серверов на верхнем уровне. Из-за сложности архитектуры, представленной для развертываний, нам был необходим способ развертывания, не мешающий трафику на «живой» сайт. Следуя совету Фаулера, но не совсем так, мы пришли к решению, которое означает, что у нас есть 2 сайта на каждом сервере (синий и зеленый, или в нашем случае сайт A и сайт B). Живой сайт имеет соответствующий заголовок хоста, и после того, как мы развернем и протестируем его на не-живом сайте, мы перевернем заголовки двух сайтов, чтобы то, что когда-то было живым, теперь было не живым сайтом, и наоборот. , Результатом является надежное развертывание, которое может быть выполнено за часы и с высочайшим уровнем достоверности.
Это, конечно, немного усложняет настройку и развертывание, но оно того стоит. Я думаю, само собой разумеется, что вы хотите написать сценарий как для развертывания, так и для замены заголовка узла.