用程序修改配置文件

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

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

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

				
时间: 2024-08-04 23:29:47

用程序修改配置文件的相关文章

Inno Setup打包注意事项

Inno Setup是一个开源的,商业的,快捷的脚本打包工具. 具体打包流程根据界面提示就可以搞定,下面讲解几个注意事项 1.在安装包进行安装的过程当中,很多程序都需要修改配置信息,这就要求我们在安装完成那一刻调用一个窗体程序来修改配置信息,那么这应该怎么来编写打包脚本呢? 首先最好在编辑脚本以前就应该把修改配置文件信息的exe文件打包进入安装包,比如我们现在想调用一个WindowsFormsApplication1.exe文件,首先把它打包进入安装包,如下: Source: "D:\C#\暑假

C# 不重启程序修改并保存配置文件(appSettings节点)

private static void UpdateAppConfig(string newKey, string newValue) { bool isModified = false; foreach (string key in ConfigurationManager.AppSettings) { if (key == newKey) { isModified = true; } } Configuration config = ConfigurationManager.OpenExeC

二、网络配置文件

在网络配置工具中所有看到的配置信息,都是存放在Linux系统的网络配置文件中.所有用户可以通过直接更改配置文件的方法来对网络信息进行配置. 2.1.网络设备配置文件 网络配置工具的设备列表框中的每一个设备,在/etc/sysconfig/network-scripts/目录下都有一个以'<ifcfg-<设备名>'命名的文件与之对应.使用ifconfig命令可以查看所有活动接口的相关信息.在更改配置文件信息时需要重启网络服务方可生效. 设备配置/etc/sysconfig/network-

android 命令修改时间或程序修改系统时间

前提是手机必须先获取root; root方法见其他章节或网上都有介绍 adb shell  进入shell 终端界面 1.先设置系统的时区配置 cat /data/property/persist.sys.timezone //查看当前时区配置文件 setprop persist.sys.timezone GMT        //修改属性 2.开始设置修改当前系统时间 date -s "yyyymmdd.[[[hh]mm]ss]"  或System/bin/date -s "

VirtualBox 重要的配置文件和配置程序

之前我安装了VirtualBox 来跑 Linux 虚拟机, 开始设置的时候设了 4G 内存, 结果后来不能改了. 造成的结果就是一开机, 内存飙到40%, 一开VirtualBox, 直接飙到95%. 然后开个数据库开个EBS 服务, 基本就不用干其他事情了. 怎么修改VirtualBox 虚拟机的内存分配呢? 有一个实用程序可以直接修改: cd C:\Program Files\VirtualBox VBoxManage.exe modifyvm "EBS R12 RUP8" --

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

nginx配置文件详解

nginx配置文件nginx.conf超详细讲解 #nginx进程,一般设置为和cpu核数一样worker_processes 4;                        #错误日志存放目录 error_log  /data1/logs/error.log  crit;  #运行用户,默认即是nginx,可不设置user nginx       #进程pid存放位置pid        /application/nginx/nginx.pid; #Specifies the value

环境变量配置文件

让配置文件立即生效:source 配置文件 或 . 配置文件 /etc/profile 例:定义了HISTSIZE=1000 /etc/profile.d/*.sh /etc/bashrc ~/.bash_profile 例:定义了PATH=$PATH:$HOME/bin ~/.bashrc 例:定义了当前用户的命令别名 ~/.bash_history 注释:历史命令

Linux中的环境变量配置文件及其作用

登录相关的配置文件: /etc/profile 范围:对所有用户生效 作用: a.定义USER变量 b.定义LOGNAME变量 c.定义MAIL变量 d.定义PATH变量 e.定义HOSTNAME变量 f.定义HISTSIZE变量 g.定义umask值 i.调用/etc/profile.d/*.sh文件 /etc/profile.d/*.sh 范围:对所有用户生效 说明:这是一族sh文件,没个都会被调用 例如: /etc/profile.d/lang.sh 作用:调用/etc/sysconfg/