When I change the connection string using this code, it does not reload app.config at runtime. I expected it to reload similarly to how we reload app.conf
Here's the method I use:
public void AddOrUpdateAppConnectionStrings(string key, string value)
{
try
{
var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var settings = configFile.ConnectionStrings.ConnectionStrings;
if (settings[key] == null)
{
settings.Add(new ConnectionStringSettings(key,value));
}
else
{
settings[key].ConnectionString = value;
}
configFile.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(configFile.ConnectionStrings.SectionInformation.Name);
Properties.Settings.Default.Reload();
}
catch (ConfigurationErrorsException)
{
Console.WriteLine("Error writing app settings");
}
}