Переключение с одной строки подключения на другую при переходе от разработки к облаку - PullRequest
6 голосов
/ 26 февраля 2011

Я работаю над облачным приложением.Когда я тестирую приложение на моем компьютере, я хочу, чтобы моя строка подключения была настроена в ServiceConfiguration.cscfg следующим образом:

<Setting name="DataConnectionString" value="UseDevelopmentStorage=true" />

Когда я публикую в облаке, мне нужно настроить ее следующим образом:

<Setting name="DataConnectionString" value="DefaultEndpointsProtocol=https;AccountName=xxxx;AccountKey=yyy" />

Я продолжаю переходить из одной среды в другую и продолжаю изменять DataConnectionString.

Есть ли способ, которым я могу автоматизировать это?Я оглянулся и не вижу примеров, но уверен, что некоторые другие имеют ту же проблему, что и я.

Спасибо,

Нэнси

Ответы [ 5 ]

4 голосов
/ 26 февраля 2011
2 голосов
/ 26 февраля 2011

Хотя подход Игорека работает отлично, мы предпочитаем проводить такие преобразования на нашем CI-сервере, который также отвечает за автоматическое развертывание. Основная причина заключается в ограничении доступа к конфиденциальным данным, поскольку только ограниченное число доверенных разработчиков имеют доступ к CI-серверу. Кроме того, это помогает содержать наш код в чистоте, так как не включает избыточный проект конфигурации. В нашем случае мы используем Hudson-CI (Jenkins-CI) и MSBuild.ExtensionPack.FileSystem.File (заменить действие) для преобразования файлов конфигурации.

0 голосов
/ 26 июня 2012

Вы можете использовать CloudConfigurationManager в Azure SDK 1.7 http://msdn.microsoft.com/en-us/LIBRARY/microsoft.windowsazure.cloudconfigurationmanager

Это начинается с просмотра в ServiceConfiguration.cscfg, например. ServiceConfiguration.Cloud.cscfg для настройки конфигурации. Если его там нет, он возвращается к web.config и app.config

Например

CloudConfigurationManager.GetSetting("StorageConnectionString")

Поищет в соответствующем файле cscfgfile параметр StorageConnectionString, затем выполнит поиск в файле web.config и затем app.config.

0 голосов
/ 04 марта 2011

Если вы хотите использовать преобразования конфигурации Visual Studio, см. мой ответ на аналогичный вопрос.

0 голосов
/ 27 февраля 2011

В той части кода, которая получает строку подключения, вы можете использовать директиву препроцессора #if(DEGUG), чтобы использовать что-то или нет, в зависимости от того, равна ли компиляция Debug или нет, или if(Debugger.IsAttached) ( MSDN ), чтобы узнать, подключен ли отладчик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...