用程序修改配置文件

之前由于上线验证需要各种修改配置,需要运维同事处理,太麻烦,今天用程序处理了修改配置文件,一劳永逸,小记下:

        [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);

”即可。

使用“

ConfigurationManager.AppSettings.Set(key, value);  

”只会更改在缓存中,不会将修改应用到配置文件,应用在重启之后修改将失效。

posted @ 2015-04-20 15:52 dong.net 阅读(...) 评论(...) 编辑 收藏