カスタム セクション ハンドラを作成するためのクラス
更新 : 2007 年 11 月
既存の構成セクションが要件を満たさない場合は、カスタム セクションを作成し、構成データの読み取りおよび書き込みのためのハンドラを実装できます。このハンドラは、ConfigurationSection クラスを拡張する .NET Framework クラスであることが必要です。
メモ : |
---|
.NET Framework Version 1.0 および 1.1 では、構成セクション ハンドラで IConfigurationSectionHandler インターフェイスを実装する必要がありました。これは .NET Framework Version 2.0 でもサポートされますが、その使用は推奨されていません。 |
カスタム セクション ハンドラは、プログラム モデルまたは宣言モデルの 2 つの実装モデルのいずれかにより実装できます。
プログラム実装モデル
このモデルでは、セクション属性ごとに、値を取得または設定するプロパティを作成し、基になる ConfigurationElement 基本クラスの内部プロパティ コレクションにそのプロパティを追加する必要があります。
宣言実装モデル
このモデルは、属性モデルとも呼ばれ、プロパティを使用し属性を設定することによりセクションの属性を定義できます。これらの属性により、プロパティの型と既定値について ASP.NET 構成システムに指示します。ASP.NET 構成システムは、リフレクションを通じて取得されるこの情報により、セクション プロパティ オブジェクトを作成し、必要な初期化を実行します。リフレクションの詳細については、「リフレクションの概要」を参照してください。
カスタム セクション ハンドラを作成するためのクラス
次の表に、プログラムによりカスタム セクション ハンドラを作成するために使用するクラスを示します。
各クラス トピックで、これらの実装モデルのいずれかまたは両方を使用するコード例が示されています。さらに、「方法 : ConfigurationSection を使用してカスタム構成セクションを作成する」で簡単な宣言モードのコード例が紹介されています。
セクション ハンドラを実装するために使用するクラス |
説明 |
---|---|
構成ファイル内のセクションを表します。 カスタム セクション ハンドラの型を実装する場合に ConfigurationSection を使用します。ConfigurationSection クラスを拡張し、カスタム ハンドリングとカスタム構成セクションへのプログラムによるアクセスを提供します。 セクションは、その処理の型を構成ファイルの configSections 要素のエントリに登録します。 |
|
構成ファイル内の関連セクションのコレクションを表します。 ConfigurationSection クラスを拡張するカスタム型の作成で ConfigurationSectionCollection を使用します。さらに、ConfigurationSection オブジェクトのコレクションを通じてプログラムから構成ファイルを読み取る場合にも使用します。 |
|
構成ファイル内の要素のコレクションを表します。 ConfigurationElement オブジェクトのコレクションを操作するために ConfigurationElementCollection を使用します。ConfigurationSection にカスタム ConfigurationElement 要素のコレクションを追加するためにこのクラスを実装します。 |
|
構成ファイル内の要素を表します。 XML 構成要素 (例 : ConfigurationSection) を表すクラスの基本クラスとして ConfigurationElement を使用します。 ConfigurationSection 内の構成要素を表すために ConfigurationElement クラスを拡張できます。また、ConfigurationElement 要素の ConfigurationElementCollection を作成できます。各 ConfigurationElement オブジェクトは、要素の属性または子要素のコレクションのいずれかを表す ConfigurationProperty オブジェクトの内部 ConfigurationPropertyCollection コレクションを作成します。 |
|
構成要素プロパティ コレクションをインスタンス化するように .NET Framework に宣言により指示します。 ConfigurationElementCollection プロパティに属性を追加するために ConfigurationCollectionAttribute を使用します。これにより、プロパティをインスタンス化し、カスタム ConfigurationElement 値を使用してプロパティを初期化するように .NET Framework に指示します。 |
|
ConfigurationPropertyCollection クラスは、構成要素の属性または ConfigurationElement オブジェクトになることができる ConfigurationProperty オブジェクトのコレクションを表します。 |
|
属性または構成要素の子を表します。簡単な ConfigurationElement の場合、ConfigurationProperty オブジェクトは属性を表します。サブセクションを含むセクションなど、より複雑な構成要素の場合、ConfigurationProperty オブジェクトは属性に加えて ConfigurationElement オブジェクトも表すことができます。 ConfigurationProperty クラスは個別の構成設定を表します。このクラスにより、特定の構成エンティティ (属性または要素) の名前、型、および既定値を取得または設定したり、属性が必要であるかどうか、属性がコレクション キーであるかどうか、属性が既定の要素コレクションを表すかどうかを指定したりできます。 |
|
構成要素プロパティをインスタンス化するように .NET Framework に宣言により指示します。 構成要素プロパティを装飾するために ConfigurationPropertyAttribute を使用します。これにより、装飾パラメータの値を使用してプロパティをインスタンス化および初期化するように .NET Framework に指示します。 |
参照
処理手順
方法 : ConfigurationSection を使用してカスタム構成セクションを作成する
方法 : IConfigurationSectionHandler を使用してカスタム構成セクションを作成する