日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

如何使用.NET配置文件(一)

發布時間:2025/6/15 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用.NET配置文件(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
.NET的應用程序配置文件,使用的是XML格式。相對INI文件來說,它的功能要強上不少,而且具有很強的可擴展性。它的缺點是不能直接進行寫操作,也就是說,不能直接在程序中修改配置文件的數據(當然不是指不能,不過不是本文討論的范圍)。本文主要目的是探討如何擴展配置文件,并在其加入各種自定義配置信息。
????
如何使用.NET配置文件(一)??? 如何使用.NET配置文件(二)??? 沐楓網志

??? 1. 使用<appSettings>
??????? 簡單的配置信息,可以直接放入<appSettings>標記中。如: <?xml?version="1.0"?encoding="utf-8"?>
??
<appSettings>
?
<add?key="LogFile"?value="d:\log\debug.log"/>
??
</appSettings>??
</configuration>

??????? 相應訪問代碼如下:???????

string?fileName?=?System.Configuration.ConfigurationSettings.AppSettings.Get("LogFile");

???? 2. 自定義配置節(section)名稱
??????? 比如,我們要使用下面的配置結構,將配置信息歸類分組:

<?xml?version="1.0"?encoding="utf-8"?>
<configuration>
<!--?需要在此處加入自定義配置聲明?-->
<!--?以下是自定義配置的內容?-->
<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>??

??? 聲明和配置的關系,示意圖如下:
????????
??? 由圖上可以看出,NameValueSectionHandler和DictionarySectionHandler在定義配置文件的內容形式上是一樣的,都是用<add>來設置內容的。只是返回到C#中的類不太一樣,可以參考下面的代碼示例。
??? 另外,如果不關心Handler類的版本等信息,可以直接省略。如NameValueSectionHandler可以直接如下聲明:

<section?name="myDictionary"????????????type="System.Configuration.NameValueSectionHandler,?System"?/>

??? 把上面的<configSections>聲明段放入配置文件中,我們的配置結構就可以正常使用了。聲明中,< sectionGroup>用來定義不含配置數據的節的名稱。<section>用來定義含有自定義配置數據的節的名稱。< section type>用來指定定義配置數據的類型。

????注意,自定義的配置節,不能使用 System.Configuration.ConfigurationSettings.AppSettings.Get 來訪問,要使用 System.Configuration.ConfigurationSettings.GetConfig。

??? .NET已經定義了3種配置類型:
? a. NameValueSectionHandler
??????? 相應訪問代碼如下:?

NameValueCollection?myNameValue=?(NameValueCollection)System.Configuration.ConfigurationSettings.GetConfig(@"myConfig/myNameValue");
string?Area?=?myNameValue["Area"];
string?Device=?myNameValue["Device"];
string?Customer?=?myNameValue["Customer?"];

? b. DictionarySectionHandler
??????? 相應訪問代碼如下:

Hashtable?myNameValue=?(Hashtable)System.Configuration.ConfigurationSettings.GetConfig(@"myConfig/myDictionary");
string?Area?=?myNameValue["Area"];
string?Device=?myNameValue["Device"];
string?Customer?=?myNameValue["Customer?"];

? c. SingleTagSectionHandler
??????? 相應訪問代碼如下:???

Hashtable?myNameValue=?(Hashtable)System.Configuration.ConfigurationSettings.GetConfig(@"myConfig/myInfo");
string?Area?=?myNameValue["Area"];
string?Device=?myNameValue["Device"];
string?Customer?=?myNameValue["Customer?"];

??????? 這三種類型的詳細信息,可以參考 MSDN 文檔。同時.NET 還定義了IgnoreSectionHandler類型,為 System.Configuration 之外的系統所讀取和處理的配置節提供節處理程序定義。
??????? 除此之外,.NET提供了IConfigurationSectionHandler接口,這樣我們還可以自行進行擴展,以設計出我們自已的配置形式。

(待續)

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的如何使用.NET配置文件(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。