用程式修改配置檔案

dong.net發表於2015-04-20

之前由於上線驗證需要各種修改配置,需要運維同事處理,太麻煩,今天用程式處理了修改配置檔案,一勞永逸,小記下:

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

”只會更改在快取中,不會將修改應用到配置檔案,應用在重啟之後修改將失效。

相關文章