Share via


用來建立自訂區段處理常式的類別

更新:2007 年 11 月

如果現有的組態區段都無法滿足需求,您可以建立自訂區段並實作處理常式以讀取和寫入組態資料。處理常式必須是擴充 ConfigurationSection 類別的 .NET Framework 類別。

注意事項:

在 .NET Framework 1.0 和 1.1 版中,組態區段處理常式必須實作 IConfigurationSectionHandler 介面,而 .NET Framework 2.0 版仍然支援這個介面 (但是已取代)。

您可以使用下列其中一種實作模型實作自訂區段處常式:程式設計模型或宣告模型。

程式設計實作模型

這個模型需要在每個區段屬性 (Attribute) 中建立一個屬性 (Property) 以擷取和 (或) 設定其值,並將屬性加入基礎 ConfigurationElement 基底類別的內部屬性 (Property) 集合。

宣告實作模型

這個模型也稱為屬性化模型,可以讓您使用屬性 (Property) 定義區段屬性 (Attribute) 並且設定屬性 (Attribute)。這些屬性 (Attribute) 會指示 ASP.NET 組態系統有關屬性 (Property) 型別和其預設值的資訊。ASP.NET 組態系統會使用這項經由反映 (Reflection) 取得的資訊,建立區段屬性物件以及執行必要的初始化。如需反映的詳細資訊,請參閱反映概觀

用來建立自訂區段處理常式的類別

下表列出用來以程式設計方式建立自訂區段處理常式的類別。

在每個類別主題中,有使用這兩種實作模型的詳細程式碼範例。此外,您也可以在 HOW TO:使用 ConfigurationSection 建立自訂組態區段中檢視簡化的宣告程式碼範例。

用來實作區段處理常式的類別

描述

ConfigurationSection 類別

代表組態檔中的區段。

使用 ConfigurationSection 實作自訂區段處理常式型別。擴充 ConfigurationSection 類別,以提供自訂處理以及使用程式設計方式存取自訂組態區段。

區段會使用組態檔 configSections 項目中的項目註冊其處理型別。

ConfigurationSectionCollection 類別

代表組態檔內相關區段的集合。

在建立自訂型別時使用擴充 ConfigurationSection 類別的 ConfigurationSectionCollection。此外,也可以在使用程式設計方式藉由 ConfigurationSection 物件集合讀取組態檔時使用它。

ConfigurationElementCollection 類別

代表組態檔內的項目集合。

使用 ConfigurationElementCollection 以使用 ConfigurationElement 物件集合。實作這個類別以便將自訂 ConfigurationElement 項目的集合加入 ConfigurationSection。

ConfigurationElement 類別

代表組態檔中的項目。

使用 ConfigurationElement 當做代表 XML 組態項目之類別的基底類別,例如 ConfigurationSection。

您可以擴充 ConfigurationElement 類別以代表 ConfigurationSection 內的組態項目。也可以建立 ConfigurationElement 項目的 ConfigurationElementCollection。每個 ConfigurationElement 物件會建立 ConfigurationProperty 物件的內部 ConfigurationPropertyCollection 集合,代表項目屬性或子項目集合。

ConfigurationCollectionAttribute 類別

以宣告方式指示 .NET Framework 產生組態項目屬性集合。

使用 ConfigurationCollectionAttribute 將屬性 (Attribute) 加入 ConfigurationElementCollection 屬性 (Property)。這會指示 .NET Framework 產生屬性並使用自訂 ConfigurationElement 值加以初始化。

ConfigurationPropertyCollection 類別

ConfigurationPropertyCollection 類別代表 ConfigurationProperty 物件的集合,這些物件可能是組態項目的屬性或 ConfigurationElement 物件。

ConfigurationProperty 類別

代表屬性或組態項目的子系。在簡單 ConfigurationElement 的情況下,ConfigurationProperty 物件代表屬性。在比較複雜的組態項目 (例如包含子區段的區段) 情況下,ConfigurationProperty 物件能夠代表 ConfigurationElement 物件以及屬性。

ConfigurationProperty 類別代表個別組態設定。這個類別可以讓您取得或設定名稱、型別以及特定組態實體 (屬性或項目) 的預設值,並且指定是否需要屬性、屬性是否為集合索引鍵,或是屬性是否代表預設項目集合。

ConfigurationPropertyAttribute 類別

以宣告方式指示 .NET Framework 產生組態項目屬性。

您使用 ConfigurationPropertyAttribute 裝飾組態項目屬性。這會指示 .NET Framework 使用裝飾參數的值產生和初始化屬性。

請參閱

工作

HOW TO:使用 ConfigurationSection 建立自訂組態區段

HOW TO:使用 IConfigurationSectionHandler 建立自訂組態區段

概念

ASP.NET 組態檔結構 (區段和區段處理常式)