如何使用.NET配置文件(一)
????
如何使用.NET配置文件(一)??? 如何使用.NET配置文件(二)??? 沐楓網(wǎng)志
??? 1. 使用<appSettings>
??????? 簡單的配置信息,可以直接放入<appSettings>標(biāo)記中。如: <?xml?version="1.0"?encoding="utf-8"?>
??<appSettings>
?<add?key="LogFile"?value="d:\log\debug.log"/>
??</appSettings>??
</configuration>
??????? 相應(yīng)訪問代碼如下:???????
string?fileName?=?System.Configuration.ConfigurationSettings.AppSettings.Get("LogFile");???? 2. 自定義配置節(jié)(section)名稱
??????? 比如,我們要使用下面的配置結(jié)構(gòu),將配置信息歸類分組:
<configuration>
<!--?需要在此處加入自定義配置聲明?-->
<!--?以下是自定義配置的內(nèi)容?-->
<myConfig>
??<myDictionary>
????<add?key="Area"?value="Fuzhou"/>
????<add?key="Device"?value="Printer"/>?
????<add?key="Customer"?value="Muf"/>
??</myDictionary>
??<myNameValue>
????<add?key="Area"?value="Fuzhou"/>
????<add?key="Device"?value="Printer"/>?
????<add?key="Customer"?value="Muf"/>
??</myNameValue>
??<myInfo
????Area="Fuzhou"?Device="Printer"?Customer="Muf"
??/>
</myConfig>
</configuration>
??????? 但是光這樣子說明是不行的。沒有聲明,是不能使用自定義的配置段。我們必須要在配置文件前面加入聲明:??
<!--?以下是自定義配置的聲明?-->??<configSections>
????<sectionGroup?name="myConfig">
?????????<section?name="myDictionary"
????????????type="System.Configuration.NameValueSectionHandler,?System,?Version=1.0.3300.0,?Culture=neutral,?PublicKeyToken=b77a5c561934e089"?/>
????????<section?name="myNameValue"
????????????type="System.Configuration.DictionarySectionHandler,?System,?Version=1.0.3300.0,?Culture=neutral,?PublicKeyToken=b77a5c561934e089"?/>
????????<section?name="myInfo"
????????????type="System.Configuration.SingleTagSectionHandler,?System,?Version=1.0.3300.0,?Culture=neutral,?PublicKeyToken=b77a5c561934e089"?/>
????</sectionGroup>
??</configSections>??
??? 聲明和配置的關(guān)系,示意圖如下:
????????
??? 由圖上可以看出,NameValueSectionHandler和DictionarySectionHandler在定義配置文件的內(nèi)容形式上是一樣的,都是用<add>來設(shè)置內(nèi)容的。只是返回到C#中的類不太一樣,可以參考下面的代碼示例。
??? 另外,如果不關(guān)心Handler類的版本等信息,可以直接省略。如NameValueSectionHandler可以直接如下聲明:
??? 把上面的<configSections>聲明段放入配置文件中,我們的配置結(jié)構(gòu)就可以正常使用了。聲明中,< sectionGroup>用來定義不含配置數(shù)據(jù)的節(jié)的名稱。<section>用來定義含有自定義配置數(shù)據(jù)的節(jié)的名稱。< section type>用來指定定義配置數(shù)據(jù)的類型。
????注意,自定義的配置節(jié),不能使用 System.Configuration.ConfigurationSettings.AppSettings.Get 來訪問,要使用 System.Configuration.ConfigurationSettings.GetConfig。
??? .NET已經(jīng)定義了3種配置類型:
? a. NameValueSectionHandler
??????? 相應(yīng)訪問代碼如下:?
string?Area?=?myNameValue["Area"];
string?Device=?myNameValue["Device"];
string?Customer?=?myNameValue["Customer?"];
? b. DictionarySectionHandler
??????? 相應(yīng)訪問代碼如下:
string?Area?=?myNameValue["Area"];
string?Device=?myNameValue["Device"];
string?Customer?=?myNameValue["Customer?"];
? c. SingleTagSectionHandler
??????? 相應(yīng)訪問代碼如下:???
string?Area?=?myNameValue["Area"];
string?Device=?myNameValue["Device"];
string?Customer?=?myNameValue["Customer?"];
??????? 這三種類型的詳細(xì)信息,可以參考 MSDN 文檔。同時.NET 還定義了IgnoreSectionHandler類型,為 System.Configuration 之外的系統(tǒng)所讀取和處理的配置節(jié)提供節(jié)處理程序定義。
??????? 除此之外,.NET提供了IConfigurationSectionHandler接口,這樣我們還可以自行進(jìn)行擴(kuò)展,以設(shè)計出我們自已的配置形式。
(待續(xù))
總結(jié)
以上是生活随笔為你收集整理的如何使用.NET配置文件(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安全的加强的linux:SELinux
- 下一篇: 【转载】企业级服务器设计与实现经验之插件