Сведения о вопросе

FELL

21:06, 1st October, 2020

Конфигурация среды выполнения в .Net (в частности, EntLib)

Просмотров: 443   Ответов: 3

Я ищу способ настроить соединение DB во время выполнения; в частности, используя корпоративную библиотеку. Я вижу, что есть *.Data.Configuration (или что-то близкое к этому ... не помню с головы) assembly но я не нахожу много на паутине. Усложняет дело тот факт, что API справка сломана на Vista.

Теперь, я нашел эту работу-вокруг:

Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringSettings connection = new ConnectionStringSettings();
connection.Name = "Runtime Connection";
connection.ProviderName = "System.Data.OleDb";
connection.ConnectionString = "myconstring";
cfg.ConnectionStrings.ConnectionStrings.Add(connection);
cfg.Save(ConfigurationSaveMode.Modified);

ConfigurationManager.RefreshSection("connectionStrings");
var runtimeCon = DatabaseFactory.CreateDatabase("Runtime Connection");

И хотя он дает мне то, что я хочу, он постоянно редактирует App.config. Конечно, я могу вернуться и удалить изменения, но я бы предпочел не проходить через эту проблему.



  Сведения об ответе

fo_I_K

04:34, 7th August, 2020

Если вы используете приложение winforms, вы можете попробовать использовать UserProperties для хранения этой информации. Другим возможным решением могут быть пользовательские разделы конфигурации .


  Сведения об ответе

lool

21:02, 6th August, 2020

Если вы не хотите, чтобы он был сохранен, вам не нужно выполнять команду cfg.Save.

Объект конфигурации будет хранить ваши изменения до тех пор, пока они больше не понадобятся.


  Сведения об ответе

lool

13:24, 2nd August, 2020

Нет, вы должны сохранить для того, чтобы EntLib (и, я подозреваю, любой другой инструмент), чтобы увидеть изменения.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться