Change connection string & reload app.config at run time

前端 未结 8 1408
广开言路
广开言路 2020-11-28 03:26

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

8条回答
  •  天涯浪人
    2020-11-28 03:57

    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");
        }
    }
    

提交回复
热议问题