2016-10-10 14 views
0

Я ищу способ добавить connectionString в мой файл web.config только тогда, когда connectionString с этим именем еще не существует.Добавить connectionstring в web.config, если он еще не установлен

Например:

У меня есть этот набор в моем текущем файле web.config

<connectionStrings> 
    <add name="myDB" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=myDB;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" /> 
</connectionStrings> 

В настройках IIS на сервере производства, я также добавил ConnectionString для «MyDB», так что я дон В источниках есть производная connectionString. [Image of the IIS settings]

Если я сейчас собираюсь Deloy my WebApp в IIS, я получаю сообщение о том, что уже есть запись с именем «myDB».

Есть ли способ использовать connectionString только из файла web.config, если в настройках сервера IIS еще не установлено?

+0

Это невозможно. Вы можете добиться чего-то подобного, используя конфигурацию сборки и преобразование web.config, но нет директивы «добавить, если не существует» для файлов web.config. –

ответ

0

Вы можете удалить строку подключения перед добавлением ее с помощью тега <remove>. Если указанная строка соединения в теге <remove> не существует, ничего не происходит, поэтому это должно работать независимо от того, была ли добавлена ​​строка соединения.

<connectionStrings> 
    <remove name="myDB" /> 
    <add name="myDB" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=myDB;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" /> 
</connectionStrings> 
Смежные вопросы