.net 對配置文件內容的操做

配置文件分爲兩種 :一種是winform應用程序的配置文件, 一種是web的配置文件.node

  兩種配置文件最大的區別是web的配置文件更新以後會時時更新, 應用程序的配置文件不會實時更新.web

  更新應用程序的配置文件以後需刷新sql

  ConfigurationManager.RefreshSection("appSettings");// 刷新命名節,在下次檢索它時將從磁盤從新讀取它。app

操做方法:sqlserver

舊方法:spa

配置文件:.net

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

後臺程序讀取值:code

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

修改配置文件的值:orm

/// <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");
}

向配置文件插入值:server

///<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應用程序要想不退出程序查看修改值,必須記住要調用刷新節點!!!

相關文章
相關標籤/搜索