• .net 对配置文件内容的操作


    配置文件分为两种 :一种是winform应用程序的配置文件, 一种是web的配置文件.

      两种配置文件最大的区别是web的配置文件更新之后会时时更新, 应用程序的配置文件不会实时更新.

      更新应用程序的配置文件之后需刷新

      ConfigurationManager.RefreshSection("appSettings");// 刷新命名节,在下次检索它时将从磁盘重新读取它。

    操作方法:

    旧方法:

    配置文件:

    <configuration>
      <appSettings>
        <add key="name" value="sqlserver"/>
      </appSettings>
    </configuration>

    后台程序读取值:

    string s=System.Configuration.ConfigurationSettings.AppSettings["name"];

    修改配置文件的值:

    /// <summary>
    /// 更新配置文件信息
    /// </summary>
    /// <param name="name">配置文件字段名称</param>
    /// <param name="Xvalue"></param>
    private void UpdateConfig(string name,string Xvalue)
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(Application.ExecutablePath + ".config");
        XmlNode node = doc.SelectSingleNode(@"//add[@key='"+name+"']");
        XmlElement ele = (XmlElement)node;
        ele.SetAttribute("value", Xvalue);
        doc.Save(Application.ExecutablePath + ".config");
    }

    向配置文件插入值:

    ///<summary>  
    ///向.config文件的appKey结写入信息AppValue   保存设置  
    ///</summary>  
    ///<param name="AppKey">节点名</param>  
    ///<param name="AppValue"></param>
    Private void SetValue(String AppKey,String AppValue)
    {
        Xmldocument xDoc=new XmlDocument();
        xDoc.Load(System.Windows.Forms.Application.ExecutablePath+”.config”);
        XmlNode xNode;
        XmlElement xElem1;
        XmlElement xElem2;
        xNode=xDoc.SelectSingleNode(“//appSettings”);
        xElem1=(XmlElement)xNode.SelectSingleNode(“//add[@key=’”+AppKey+”’]”);
        if(xElem1!=null)
        xElem1.SetAttribute(“value”,AppValue);
        else
        {
            xElem2=xdoc.CreateElement(“add”);
            xElem2.SetAttribute(“key”,AppKey);
            xElem2.setAttribute(“value”,AppValue);
            xNode.AppendChild(xElem2);
        }
        xDoc.Save(System.Windows.Forms.Application.ExecutablePath+”.config”);
    }

    上述方法在FrameWork2.0已经明确表示此属性已经过时。并建议改为ConfigurationManager或WebConfigurationManager。并且AppSettings属性是只读的,并不支持修改属性值.

    新方法:

    要想调用ConfigurationManager必须要先在工程里添加system.configuration.dll程序集的引用。(在解决方案管 理器中右键点击工程名称,在右键菜单中选择添加引用,.net TablePage下即可找到)添加引用后可以用 String str = ConfigurationManager.AppSettings["Key"]来获取对应的值了。

    后台读取值;

    String str = ConfigurationManager.AppSettings["Key"];

    更新配置文件:

    Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    
      //添加
    
      cfa.AppSettings.Settings.Add("key", "Name")
    
      //修改
    
      cfa.AppSettings.Settings["BrowseDir"].Value = "name";
    //保存
    cfa.Save();
    //刷新,刷新命名节,在下次检索它时将从磁盘重新读取它。
    ConfigurationManager.RefreshSection("appSettings");//

    winform应用程序要想不退出程序查看修改值,必须记住要调用刷新节点!!!

  • 相关阅读:
    Ubuntu+Windows双系统升级Windows启动项消失恢复
    day19 Servlet Filter
    day17 dbutils 和 jdbc 多表操作
    day16 事务
    day15 分页及 JDBC 大数据的处理
    day14 JDBC
    day13 MySQL 及数据库相关
    Windows系统中完全卸载MySQL数据库,实现重装
    Elasticsearch 6.5.4 安装IK Analysis插件
    js 常用功能
  • 原文地址:https://www.cnblogs.com/enjoyprogram/p/4519136.html
Copyright © 2020-2023  润新知