Вы действительно не должны изменять свои конфигурации, если вы основаны на Prod или Staging.Промежуточная область не предназначена для среды "QA", а только для хранения перед развертыванием производства.
При загрузке нового развертывания текущий слот развертывания, в который вы загружаете свой пакет, уничтожается и не работает.в течение 10-15 минут, пока происходит загрузка и запуск виртуальных машин.Если вы загрузите прямо в производство, это 15 минут простоя производства.Таким образом, была создана область промежуточного хранения: вы загружаете в промежуточное состояние, тестируете материал и нажимаете кнопку «Обмен», и ваша промежуточная среда волшебным образом становится производственной (виртуальный обмен IP-адресами).Таким образом, ваша подготовка должна действительно быть на 100% такой же, как ваша продукция.
Что я думаю, что вы ищете, это среда QA / тестирования?Вам следует открыть новый сервис для среды тестирования с собственным Prod / Staging.В этом случае вам потребуется поддерживать несколько наборов файлов конфигурации, по одному на каждую среду развертывания (производство, тестирование и т. Д.)
Существует множество способов управления адом конфигурации, который возникает, особенно в Azure, в которой естьповерх файлов .config свои собственные файлы * .cscfg.Я предпочитаю делать это с проектом Azure следующим образом: настройте небольшой проект Config, создайте там папки, соответствующие типам развертывания.Внутри каждой папки устанавливаются наборы файлов * .config & * .cscfg, которые соответствуют конкретной среде развертывания: Debug, Test, Release ... они также настраиваются в Visual Studio, а также целевые типы сборки.У меня есть небольшая команда xcopy, которая выполняется во время каждой компиляции проекта Config, которая копирует все файлы из папки Build Target проекта Config в корневую папку проекта Config.
Затем все остальные проекты в решении, ССЫЛКИв файл .config или .cscfg из корневой папки проекта Config.
Вуаля, мои конфиги магически автоматически адаптируются к любой конфигурации сборки.Я также использую преобразования .config для управления информацией отладки для целей выпуска и выпуска не для выпуска.
Если вы прочитали все это и все еще хотите получить статус Производство или подготовка во время выполнения, затем: Get deploymentId
из RoleEnvironment.DeploymentId
Затем используйте API управления с правильным X509 certificate
, чтобы получить Azure structure of your Service
и вызвать метод GetDeployments
(это остальные API, но есть библиотека абстракций).
Надеюсь, это поможет
Редактировать: сообщение в блоге по запросу о настройке строк конфигурации и переключении между средами @ http://blog.paraleap.com/blog/post/Managing-environments-in-a-distributed-Azure-or-other-cloud-based-NET-solution