配置文件分为两种 :一种是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应用程序要想不退出程序查看修改值,必须记住要调用刷新节点!!!

.net 对配置文件内容的操作的更多相关文章

  1. java文件操作(普通文件以及配置文件的读写操作)

    转自:java文件操作(普通文件以及配置文件的读写操作) 读取普通文件 : /** * xiangqiao123欢迎你 如果对代码有疑问可以加qq群咨询:151648295 * * 读取MyFile文 ...

  2. java读取配置文件内容

    利用com.typesafe.config包实现 <dependency> <groupId>com.typesafe</groupId> <artifact ...

  3. 011PHP文件处理——文件处理 文件内容分页操作类

    <?php /** * 文件内容分页操作类: */ //访问地址:http://basicphp.com/006file/011.php?&page=1 class StrPage { ...

  4. CSharp读取json配置文件内容

    步骤 读取配置文件转换成字符串,代码如下 string contents = System.IO.File.ReadAllText("config.json"); 注意:该语句会抛 ...

  5. Python+selenium之读取配置文件内容

    Python+selenium之读取配置文件内容 Python支持很多配置文件的读写,此例子中介绍一种配置文件的读取数据,叫ini文件,python中有一个类ConfigParser支持读ini文件. ...

  6. tornado 06 数据库—ORM—SQLAlchemy——基本内容及操作

    tornado 06 数据库—ORM—SQLAlchemy——基本内容及操作 一. ORM #在服务器后台,数据是要储存在数据库的,但是如果项目在开发和部署的时候,是使用的不同的数据库,该怎么办?是不 ...

  7. 得到properties配置文件内容

    代码: 1.配置文件内容 2.文件所在项目中位置: 3.java代码: 01.得到键值对: @Test public void getProp() { Properties prop = new Pr ...

  8. 使用Spring MVC,Mybatis框架等创建Java Web项目时各种前期准备的配置文件内容

    1.pom.xml 首先,pom.xml文件,里面包含各种maven的依赖,代码如下: <project xmlns="http://maven.apache.org/POM/4.0. ...

  9. 对配置文件 xml 进行操作

    个人喜欢用 Linq 的方式来进行操作,方便快捷 <?xml version="1.0" encoding="utf-8" ?> <confi ...

随机推荐

  1. http协议相关-待续

    // 关于http的东西 function httpAction() { // http://localhost/blog/testurl.php?id=5 到目前为止 // 获取当前域名 // 获取 ...

  2. 分享 rabbitMQ入门详解

    原文地址http://blog.csdn.net/cugb1004101218/article/details/21243927 目录(?)[-] rabbitMQ说明文档 rabbitMQ是什么 消 ...

  3. jquery如何在异步方式中给全局变量赋值

    定义一个全局全量,例如:var i=0;然后调用jquery的一个函数 $.get(url, function(data) {i=9;})alert(i);得到的是0而不是9. var i=0;    ...

  4. byte与char的区别

     byte 是字节数据类型 ,是有符号型的,占1 个字节:大小范围为-128—127 .char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 ):大小范围 是0—65535 :char ...

  5. 【PRML读书笔记-Chapter1-Introduction】1.2 Probability Theory

    一个例子: 两个盒子: 一个红色:2个苹果,6个橘子; 一个蓝色:3个苹果,1个橘子; 如下图: 现在假设随机选取1个盒子,从中.取一个水果,观察它是属于哪一种水果之后,我们把它从原来的盒子中替换掉. ...

  6. android-non-ui-ui-thread-communications-part-5-5

    This is the last post in my series regarding Android thread communications.  Parts 1 through 4 are l ...

  7. ASP.NET MVC请求特殊静态文件返回404 Not Found

    今天在请求静态的json档案以及woff2档案,会返回404错误,需要在Web.Config里修改: <system.webServer> <modules> <remo ...

  8. mvc 筛选器

    之前公司中,运用ActionFilterAttribute特性实现用户登录信息的验证,没事看了看,留下点东西备忘. 好的,瞅这玩意一眼就大概能猜到这货是干嘛的了吧,没错,action过滤器.其实就是A ...

  9. 关于破解Quartus

    在网上找了很多资料,说的也很详细,安装的Quartus13.0,在破解的时候遇到x64和x86两种破解器,两个针对的路径不一样,如果搞混了~可能就会出现这种情况   Error: Current li ...

  10. leetcode — remove-duplicates-from-sorted-array-ii

    /** * Source : https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array-ii/ * * * Follow ...