Одним из подходов может быть первая перезапись файла конфигурации приложения с использованием функции SaveAs
. А затем обновите sh все разделы конфигурации, используя функцию ConfigurationManager.RefreshSection
.
Вариант 1: с помощью RefreshSection
string s = "c:\test\web.config";
var configFile = ConfigurationManager.OpenExeConfiguration(s);
//Overwrite config file of app
configFile.SaveAs(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
//Iterate through each sections
foreach(ConfigurationSection section in configFile.Sections)
{
//Refresh each section
ConfigurationManager.RefreshSection(section.SectionInformation.Name);
}
[РЕДАКТИРОВАТЬ]
Вариант 2: Добавить пример для обновления key-value
пара секции AppSettings
со значением, считанным из конфигурации в другом месте.
string s = "c:\test\web.config";
var configFile = ConfigurationManager.OpenExeConfiguration(s);
//Get all keys
var allKeys = configFile.AppSettings.Settings.AllKeys;
foreach (var key in allKeys)
{
// Set value in ConfigurationManager
ConfigurationManager.AppSettings["Name"] =
configFile.AppSettings.Settings[key].Value;
}