У нас есть внутренний инструмент, и нам нужно дать возможность программно добавить строку подключения, а затем перезагрузить эту строку подключения, не перезагружая приложение вообще.
Я немного растерялся и потратил 2 дня на это и собираюсь сдаться. Я сделал следующее
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
int initialCount = ConfigurationManager.ConnectionStrings.Count;
string connStringName = "TEST";
string serverName="Servedr";
string databaseName = "MyDb";
string userId="MyUseId";
string password="MyPassword";
var connectionStringBuilder = new SqlConnectionStringBuilder
{
DataSource = serverName,
InitialCatalog = databaseName,
UserID = userId,
Password = password
};
var csSetting = new ConnectionStringSettings(connStringName, connectionStringBuilder.ConnectionString, "System.Data.SqlClient");
var csSection = config.ConnectionStrings;
csSection.ConnectionStrings.Add(csSetting);
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("ConnectionStrings");
int finalCount = ConfigurationManager.ConnectionStrings.Count;
Это должно работать, нет? RefreshSection и т.д ...
Какие-либо предложения?
обходные пути без перезапуска?
Спасибо