Hi, We have an internal tool and we need to give the ability to add a connection string programmatically and then reload this connection string without reloading the application at all.
I am kind of confused and wasted 2 days on this and about to give up I have done the following
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;
This should work no? RefreshSection etc... Any suggestions? workarounds without restarting?
Thanks