之前由于上线验证需要各种修改配置,需要运维同事处理,太麻烦,今天用程序处理了修改配置文件,一劳永逸,小记下:
[HttpPost]publicActionResult SaveSetting(stringkey,stringvalue)
{if(!string.IsNullOrWhiteSpace(key) && !string.IsNullOrWhiteSpace(value)&&ConfigurationManager.AppSettings.AllKeys.Contains(key))
{//ConfigurationManager.AppSettings.Set(key, value);//var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);//winform之类应用程序的修改方式varconfig = WebConfigurationManager.OpenWebConfiguration("~");//web应用程序修改config.AppSettings.Settings[key].Value=value;
config.Save();
}returnRedirectToAction("Index");
}
以上为Web应用中修改的方式,如果是winform、wpf之类使用 “
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
”即可。
使用“
ConfigurationManager.AppSettings.Set(key, value);
”只会更改在缓存中,不会将修改应用到配置文件,应用在重启之后修改将失效。