以前因爲上線驗證須要各類修改配置,須要運維同事處理,太麻煩,今天用程序處理了修改配置文件,一勞永逸,小記下: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