Hemant Rajoria Ответов: 1

Как динамически изменить имя компьютера в файле app. config или использовать переменную.


у меня есть проблема в моем app. config, я хотел бы изменить server = Localhost на just like
имя_компьютера / sqlexpress пример hmt-pc / sqlexpress вместо localhost.
пожалуйста, помогите нам.

<connectionStrings>
   <add name="ConStringOnline" connectionString="Server=22.21.12.124;Initial Catalog=ProductId; User ID =pid; Password =123@2016;" providerName="System.Data.SqlClient"/>
   <add name="ConString" connectionString="server=localhost;Initial Catalog=ims1_try;User ID=sa;password=123" providerName="System.Data.SqlClient"/>
   <add name="ConStringOffLine" connectionString="server=localhost;Initial Catalog=Master; User ID=sa;password=123" providerName="System.Data.SqlClient"/>
   <add name="IMS.Properties.Settings.IMSConnectionString" connectionString="server=localhost;Initial Catalog=ims1_try;User ID=sa;password=123" providerName="System.Data.SqlClient"/>
   <add name="IMS.Properties.Settings.IMSConnectionString1" connectionString="server=localhost;Initial Catalog=ims1_try;User ID=sa;password=123" providerName="System.Data.SqlClient"/>
 </connectionStrings>




Что я уже пробовал:

если у вас есть какое-либо решение, Пожалуйста, помогите нам.

1 Ответов

Рейтинг:
2

F-ES Sitecore

Изменить его, когда и при каких обстоятельствах? Если вы хотите убедиться, что при развертывании сайта используется правильная строка подключения, то используйте преобразования web.config (google для конкретики, это немного тема). Если вы хотите изменить соединение на лету в своем собственном коде, то имейте все возможные строки подключения в своей конфигурации и просто выберите ту, которую вы хотите, когда захотите. Если выбор правильной строки является глобальным, то создайте функцию типа "GetConnectionString", которую ваш код вызывает, когда ему нужно соединение, и эта функция может решить, какую строку возвращать.

Последний способ - использовать заполнитель в строке подключения, который вы заменяете в своем коде, так что

<add name="ConStringOnline" connectionString="Server={0};Initial Catalog=ProductId; User ID =pid; Password =123@2016;" providerName="System.Data.SqlClient"/>


затем вы можете заменить этот токен на фактическое имя сервера, которое вы хотите;

string con = ConnectionStrings["ConStringOnline"];
con = string.Format(con, "YourServerNameHere");

это заменит токен {0} на "YourServerNameHere".