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