转自:http://tech.diannaodian.com/dw/kf/net/2012/0417/172082.html
配置文件在很多情况下都使用到, 配置文件分为两种 一种是应用程序的配置文件, 一种是web的配置文件.
两种配置文件最大的区别是web的配置文件更新之后会时时更新, 应用程序的配置文件不会实时更新.
更新应用程序的配置文件之后需刷新
ConfigurationManager.RefreshSection("appSettings");// 刷新命名节,在下次检索它时将从磁盘重新读取它。
ConfigurationSettings也存在这个问题, 但是我还不知道怎么刷新节点, 呵呵.
旧方法: 各位看官最好使用下面”新方法”
配置文件:
< appSettings >
< add key = " name " value = " 我是远程 服务器 " />
</ appSettings >
</ configuration >
后台程序值得读取:
修改配置文件的值:
/// 更新配置文件信息
/// </ 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 " );
}
向配置文件插入值:
/// 向.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"]来获取对应的值了。
更新配置文件:
// 添加
cfa.AppSettings.Settings.Add( " key " , " Name " )
// 修改
cfa.AppSettings.Settings[ " BrowseDir " ].Value = " name " ;
最后调用
当前的配置文件更新成功。
刷新命名节,在下次检索它时将从磁盘重新读取它。记住应用程序要刷新节点
本文详细介绍了配置文件的管理与更新方法,包括应用程序和Web配置文件的区别、更新方法及注意事项。重点阐述了如何通过ConfigurationManager和WebConfigurationManager进行配置文件的读取、更新和刷新操作,以及使用XML文档手动修改配置文件的方法。同时提醒读者注意Framework2.0中对ConfigurationSettings属性的废弃警告,并推荐使用更新的方法进行配置文件的管理。
1024

被折叠的 条评论
为什么被折叠?



