(1) у нас есть веб-приложение, работающее на веб-сайте Azure с использованием Sql Server (Web Edition). Приложение включает в себя две строки подключения:
-
DefaultConnection - нормальная строка подключения в виде
Server=tcp:{my-sql-server}.database.windows.net,1433;Database=...
). -
EFConnection - Строка подключения структуры Entity. Поскольку im использует Дизайнер EF (и любящий его) мне нужно использовать строку подключения в форма
metadata=res://*/Models.EDM...
(2) Я поместил строки подключения в web.config
; это единственный способ, которым была принята строка соединения "metadata..." (EF) (при попытке ввести эти строки подключения на панели управления веб-сайта Azure, я получил всевозможные странные ошибки).
Все отлично работает.
(3) Затем я добавил промежуточный слот на наш веб-сайт для выполнения поэтапной разработки, как описано в Поэтапное развертывание на веб-сайтах Microsoft Azure
Поэтапный сайт отлично работает. Я создал для него другой Sql-сервер и установил его строку соединения так же, как на рабочем месте (т.е. В web.config). Я обрабатываю разные web.config
с помощью web.config Transformations
. (у меня есть еще 2 преобразования - для разработки/отладки и для локального развертывания/выпуска)
Проблема: теперь, когда у меня есть производственный + промежуточный сайт, я пытаюсь выполнить обмен. Сделка отлично работает, и любые изменения, внесенные в промежуточный сайт, заменяются на производство.
Тем не менее, swap также берет строки подключения с промежуточного сайта, подключая его к промежуточной базе данных.
* Это известная ошибка? есть ли работа вокруг? (на данный момент я должен выполнять прямое развертывание на производственном сайте после проверки QA поэтапного сайта - это означает время простоя для нашего сайта и тихое поражение цели всего этого упражнения)