В одном из наших решений для веб-сайта ASP.NET я должен развернуть обновление, которое могло бы занять разумный срок. Это порождает несколько Windows Azure Workers и проекты и таким образом, Подкачка простого развертывания исключена.
По существу я просто думаю о способе перенаправить все веб-запросы на "сайт, является объектом обслуживания" страница в течение некоторого времени, учитывая проект находится под Windows Azure.
Я знаю о приеме app-offline.htm с IIS, но я сомневаюсь, что веб-Роль Azure позволит этому быть развернутым или выполненным (это вращает вниз домен приложения).
После некоторого дополнительного исследования, кажется, что одним из вариантов реализации является создание отдельного веб-проекта (пакет развертывания и веб-роль), который перенаправляет все запросы на единую страницу обслуживания. Модуль Url Rewrite (установленный в Azure по умолчанию) можно настроить следующим образом:
<rules>
<rule name="Redirect exclusions" stopProcessing="true">
<match url="\.(css|gif|png|htm|jpg)$" />
</rule>
<rule name="Redirect to index" stopProcessing="true">
<match url="^(.*)$" />
<action type="Redirect" url="/index.htm" />
</rule>
</rules>
Развертывание этого проекта через подкачку обеспечит логическую согласованность, а детали сообщения (если ожидается, что период обслуживания будет дольше) можно передать через настройки cscfg.