2015-09-04 10 views
3

Я хочу знать, как автоматически изменить строку подключения моего приложения, поэтому, когда я работаю над ней на своем компьютере, она использует мой локальный SQL Server и после ее публикации использует SQL Server, который я разместил на лазури.Изменение строки подключения от разработки до производства при публикации

Сейчас я просто комментирую строку подключения в зависимости от того, что я хочу, я видел, что файл Web.Config имеет 2 зависимости, Web.Debug.config и Web.Release.config, где я думаю, что я что-то делать, но я не знаю, что.

Это мой файл web.config до сих пор

<connectionStrings> 
    <add name="MyApp" connectionString="Data Source=mydb.database.windows.net;Initial Catalog=MyDb;User [email protected];Password=MyPwd;Encrypt=true;Trusted_Connection=false;" providerName="System.Data.SqlClient" /> 
    <!--<add name="MyApp" providerName="System.Data.SqlClient" connectionString="Server=.\SQLEXPRESS;Database=MyDb;Integrated Security=True;" />--> 
    </connectionStrings 

Как вы можете видеть, у меня есть 2 строки подключения, которые я должен закомментировать, но делает это очень раздражает.

ответ

2

Эти две конфигурации построены для их соответствующей настройки сборки, поэтому вы можете поместить строку подключения вашего dev в Web.Debug.config и строку вашего prod-соединения в Web.Release.config. Затем, когда вы развертываете на производство, запустите сборку Release, и в результате ваш Web.Config будет иметь производственную строку соединения.

+0

Но мне нужно, чтобы иметь соединения строку и указанное в файле web.config или только в Web.Debug.config и Web.Release.config? –

+0

@JGEstevez Каждая конфигурация имеет свою собственную строку подключения. Вы должны выбрать соответствующий файл конфигурации при развертывании. –

2

вы можете разделить ваш web.config как

  • web.dev.config
  • web.live.config

Во время развертывания выберите соответствующий конфигурационный файл. Вы можете посетить эту ссылку, чтобы узнать how to manage multiple web.config file in single project.

ИЛИ

Если вы не хотите, чтобы создать несколько файлов web.config см Single web.config file across all environments (dev, test, prod) из CodeProject

+1

Использование нескольких файлов конфигурации - путь. Хотя это не требование OP, если кто-то использует подход codeproject для нескольких клиентских установок, то есть такую ​​же базу кода для нескольких развертываний, это не будет проходить проверку безопасности, так как конфиденциальная информация о конфигурации для других установок может наблюдаться в развернутом коде. – JamieMeyer

+0

@JamieMeyer appriciated –

0

Теперь вы можете использовать Azure, чтобы справиться с этим точным проблемы через их строки подключения в настройках приложения. Вам просто нужно указать соединения точно так же, а затем подключиться и играть.

https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-configure