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

时间:2023-03-09 13:15:51
.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应用程序要想不退出程序查看修改值,必须记住要调用刷新节点!!!