config里面的配置如何实时读取?
程序启动了,但是我想随时调整config文件里面的配置参数,应该如何实现实时读取并生效呀~~~
------解决方案--------------------config文件是xml格式的,用 System.Xml名称空间下的类即可
------解决方案--------------------using System;
using System.Xml;
namespace prjCx
{
/// <summary>
/// Config 的摘要说明。
/// </summary>
public class Config
{
private String msFileName = null;
public String ConfigFile
{
get
{
return this.msFileName;
}
set
{
if (System.IO.File.Exists(value.Trim()))
{
this.msFileName = value.Trim();
}
}
}
public Config()
{
this.msFileName = String.Empty;
}
public Config(String ConfigFile)
{
this.ConfigFile = ConfigFile.Trim();
}
public bool ReadConfig(String ContentName, out String ContentValue)
{
bool bFlag = false;
ContentValue = String.Empty;
if (!System.IO.File.Exists(this.msFileName))
{
return bFlag;
}
try
{
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(this.msFileName);
System.Xml.XmlNode xmlNode = xmlDoc.SelectSingleNode(ContentName);
ContentValue = xmlNode.InnerText;
bFlag = true;
}
catch (XmlException xmle)
{
System.Console.WriteLine(xmle.Message);
}
return bFlag;
}
/// <summary>
/// 读XML文件
/// </summary>
/// <param name= "ContentName "> 节点名 </param>
/// <param name= "PropertyName "> 属性名 </param>
/// <param name= "PropertyValue "> 属性值(Ref) </param>
/// <returns> </returns>
public bool ReadConfig(String ContentName, String PropertyName, out String PropertyValue)
{
bool bFlag = false;
PropertyValue = String.Empty;
if (!System.IO.File.Exists(this.msFileName))
{
return bFlag;
}
try
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(this.msFileName);
XmlNode xmlNode = xmlDoc.SelectSingleNode(ContentName);
XmlAttributeCollection xmlAttr = xmlNode.Attributes;
for (int i = 0; i < xmlAttr.Count; ++i)
{
if (xmlAttr.Item(i).Name == PropertyName)
{
PropertyValue = xmlAttr.Item(i).Value;
bFlag = true;
break;
}
}
}
catch (XmlException xmle)
{
System.Console.WriteLine(xmle.Message);
}
return bFlag;
}
public bool WriteConfig(String ContentName, String ContentValue)