System.Configuration命名空间下的关键类
1.ConfigurationManager和 WebConfigurationManager類:
?
??? 使用 ConfigurationManager 類,可以訪問計(jì)算機(jī)和應(yīng)用程序的配置信息。ConfigurationManager 是處理客戶端應(yīng)用程序配置文件的首選方法;不推薦使用任何其他方法。對(duì)于 Web 應(yīng)用程序,建議使用 WebConfigurationManager 類。
客戶端應(yīng)用程序在客戶端計(jì)算機(jī)上運(yùn)行,而 Web 應(yīng)用程序在客戶端連接到的服務(wù)器計(jì)算機(jī)上運(yùn)行。
可以使用內(nèi)置的 System.Configuration 類型或從它們派生以處理配置信息。通過使用這些類型,可以直接處理配置信息,且能對(duì)配置文件進(jìn)行擴(kuò)展以包括自定義信息。
ConfigurationManager 類包括可用來執(zhí)行以下任務(wù)的成員。
?????? 從配置文件中讀取一個(gè)節(jié)。若要訪問配置信息,請(qǐng)使用 GetSection。對(duì)于像 appSettings 和 connectionStrings 這樣的一些節(jié),請(qǐng)使用 AppSettings 和 ConnectionStrings 類。上面提到的方法執(zhí)行只讀操作,使用配置的單個(gè)緩存實(shí)例,并且可識(shí)別多線程。
?????? 將配置文件作為一個(gè)整體進(jìn)行讀取和寫入。應(yīng)用程序能夠讀寫任何級(jí)別的配置設(shè)置,不管是自己的還是其他應(yīng)用程序或計(jì)算機(jī)的,也不管是本地的還是遠(yuǎn)程的。使用 ConfigurationManager 類提供的方法之一可打開類似 Myapp.exe.config 這樣的配置文件。這些方法返回一個(gè) Configuration 對(duì)象,該對(duì)象又公開可用于處理關(guān)聯(lián)的配置文件的方法和屬性。這些方法執(zhí)行讀取或?qū)懭氩僮?#xff0c;并于每次寫入文件時(shí)重新創(chuàng)建配置數(shù)據(jù)。
?????? 支持配置任務(wù)。下列類型用于支持各種配置任務(wù):
SectionInformation
PropertyInformation
PropertyInformationCollection
ElementInformation
ContextInformation
ConfigurationSectionGroup
ConfigurationSectionGroupCollection
除了處理現(xiàn)有的配置信息外,還可以通過擴(kuò)展內(nèi)置的配置類型(如 ConfigurationElement、ConfigurationElementCollection、ConfigurationProperty 和 ConfigurationSection 類),來創(chuàng)建和處理自定義配置元素。有關(guān)如何以編程方式擴(kuò)展內(nèi)置配置類型的示例,參見 ConfigurationSection。有關(guān)如何使用基于屬性的模型擴(kuò)展內(nèi)置配置類型的示例,請(qǐng)參見 ConfigurationElement。
Configuration 類允許進(jìn)行編程訪問以編輯配置文件。使用 ConfigurationManager 提供的打開方法中的一種。這些方法返回一個(gè) Configuration 對(duì)象,該對(duì)象又提供處理基礎(chǔ)配置文件所需的方法和屬性??梢栽L問這些文件以便進(jìn)行讀取或?qū)懭搿?若要讀取配置文件,請(qǐng)使用 GetSection 或 GetSectionGroup 讀取配置信息。進(jìn)行讀取的用戶或過程必須具有下面的權(quán)限: 如果應(yīng)用程序需要對(duì)它自己的配置進(jìn)行只讀訪問,建議使用 GetSection 方法。此方法提供對(duì)當(dāng)前應(yīng)用程序的緩存配置值的訪問,它的性能比 Configuration 類更好。
2.Configuration 類:
Configuration類實(shí)例表示的配置設(shè)置的合并視圖,這些配置設(shè)置適用于特定的物理實(shí)體(如計(jì)算機(jī))或邏輯實(shí)體(如應(yīng)用程序或網(wǎng)站)。指定的邏輯實(shí)體可以存在于本地計(jì)算機(jī)或遠(yuǎn)程服務(wù)器上。 當(dāng)某指定的實(shí)體沒有配置文件時(shí),則 Configuration 對(duì)象表示 Machine.config 文件定義的默認(rèn)配置設(shè)置。通過使用該類定義的 Open 配置方法之一,可以獲取 Configuration 對(duì)象。使用Save方法之一,可以保存Coonfiguration對(duì)象的配置信息到磁盤文件中
3.?ConfigurationSection 類
??? 可以使用 ConfigurationSection 實(shí)現(xiàn)自定義的節(jié)類型。擴(kuò)展 ConfigurationSection 類,以提供對(duì)自定義配置節(jié)的自定義處理和編程訪問。 所有的默認(rèn)配置節(jié)都由擴(kuò)展 ConfigurationSection 類的類來表示。
使用 configSections 中的項(xiàng)注冊(cè)其處理類型。
????? 3.1 ConfigurationSection實(shí)現(xiàn)說明:
?????? 可以使用編程或聲明性(屬性化)代碼編寫模型創(chuàng)建自定義配置節(jié)。
?????????????? 3.1.1 編程模型。此模型要求為每個(gè)節(jié)屬性 (Attribute) 創(chuàng)建一個(gè)用于獲取和/或設(shè)置其值的屬性 (Property),并將其添加 到基礎(chǔ) ConfigurationElement 基類的內(nèi)部屬性 (Property) 包中。
?????????????? 3.1.2 聲明性模型。這種比較簡(jiǎn)單的模型也稱為屬性 (Attribute) 化模型,允許您通過使用屬性 (Property) 來定義節(jié)屬性 (Attribute),并使用屬性 (Attribute) 對(duì)其進(jìn)行修飾。這些屬性 (Attribute) 將屬性 (Property) 類型及其默認(rèn)值通知給配置系統(tǒng)。配置系統(tǒng)將使用通過反射獲取的這些信息為您創(chuàng)建節(jié)屬性 (Property) 對(duì)象并執(zhí)行所需的初始化。
????3.2 Configuration 是允許進(jìn)行編程訪問以編輯配置文件的類。您可以按照以下說明訪問這些文件以進(jìn)行讀寫操作。
??????????????3.2.1 讀取。使用 GetSection 或 GetSectionGroup 讀取配置信息。請(qǐng)注意,進(jìn)行讀取操作的用戶或進(jìn)程必須具有以下權(quán)限:
?????? 在當(dāng)前配置層次結(jié)構(gòu)級(jí)別下對(duì)配置文件的讀取權(quán)限。
?????? 對(duì)所有父級(jí)配置文件進(jìn)行讀取的權(quán)限。
?????? 如果應(yīng)用程序需要對(duì)其自己的配置進(jìn)行只讀訪問,建議對(duì)于 Web 應(yīng)用程序使用 GetSection 重載方法。或使用 GetSection 方法(針對(duì)客戶端應(yīng)用程序)。 這些方法可提供對(duì)當(dāng)前應(yīng)用程序的緩存配置值的訪問,且其性能要好于 Configuration 類。
?????? 如果使用帶有路徑參數(shù)的靜態(tài) GetSection 方法,則該路徑參數(shù)必須引用代碼正在運(yùn)行的應(yīng)用程序,否則,該參數(shù)將被忽略,并返回當(dāng)前正在運(yùn)行的應(yīng)用程序的配置信息。
??????????????3.2.2 寫入??墒褂?Save 方法之一寫入配置信息。請(qǐng)注意,進(jìn)行寫入操作的用戶或進(jìn)程必須具有以下權(quán)限:
?????? 對(duì)當(dāng)前配置層次結(jié)構(gòu)級(jí)別的配置文件和目錄的寫入權(quán)限。
?????? 對(duì)所有配置文件的讀取權(quán)限。
轉(zhuǎn)載于:https://www.cnblogs.com/ycat/archive/2006/08/19/481083.html
總結(jié)
以上是生活随笔為你收集整理的System.Configuration命名空间下的关键类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都欢乐谷不玩项目进去需要买票吗
- 下一篇: 猎头文章(一)