Freigeben über


Klassen zum Erstellen von benutzerdefinierten Abschnittshandlern

Aktualisiert: November 2007

Wenn keiner der vorhandenen Konfigurationsabschnitte Ihren Anforderungen entspricht, können Sie benutzerdefinierte Abschnitte erstellen und Handler zum Lesen und Schreiben der Konfigurationsdaten implementieren. Der Handler muss eine .NET Framework-Klasse sein, die die ConfigurationSection-Klasse erweitert.

Hinweis:

In .NET Framework 1.0 und 1.1 musste ein Konfigurationsabschnittshandler die IConfigurationSectionHandler-Schnittstelle implementieren. Dieses Vorgehen wird in .NET Framework 2.0 zwar weiterhin unterstützt, gilt jedoch als veraltet.

Benutzerdefinierte Abschnittshandler können mithilfe eines der beiden folgenden Implementierungsmodelle implementiert werden: mithilfe des programmgesteuerten Modells oder des deklarativen Modells.

Programmgesteuertes Implementierungsmodell

Dieses Modell erfordert, dass Sie für jedes Abschnittsattribut eine Eigenschaft erstellen, um damit den Wert des Attributs abzurufen bzw. festzulegen zu können, und dass Sie anschließend diese Eigenschaft der internen Eigenschaftenauflistung der zugrunde liegenden ConfigurationElement-Basisklasse hinzufügen.

Deklaratives Implementierungsmodell

Bei diesem Modell, das auch attributiertes Modell genannt wird, können Sie ein Abschnittsattribut definieren, indem Sie eine Eigenschaft verwenden und Attribute festlegen. Diese Attribute informieren das ASP.NET-Konfigurationssystem über die Eigenschaftentypen und ihre Standardwerte. Auf Grundlage dieser Informationen, die mittels Reflektion abgerufen werden, erstellt das ASP.NET-Konfigurationssystem die Abschnittseigenschaftenobjekte und führt die erforderliche Initialisierung aus. Weitere Informationen zur Reflektion finden Sie unter Übersicht über Reflektion.

Klassen zum Erstellen von benutzerdefinierten Abschnittshandlern

In der folgenden Tabelle werden die Klassen aufgeführt, die zum programmgesteuerten Erstellen benutzerdefinierter Abschnittshandler verwendet werden.

In jedem der Themen zu den Klassen gibt es ausführliche Codebeispiele, in denen entweder eines der beiden Implementierungsmodelle oder beide verwendet werden. Darüber hinaus finden Sie ein vereinfachtes deklaratives Codebeispiel unter Gewusst wie: Erstellen von benutzerdefinierten Konfigurationsabschnitten mit ConfigurationSection.

Klassen zum Implementieren von Abschnittshandlern

Beschreibung

ConfigurationSection-Klasse

Stellt einen Abschnitt innerhalb einer Konfigurationsdatei dar.

Verwenden Sie ConfigurationSection, um einen benutzerdefinierten Abschnittshandlertyp zu implementieren. Erweitern Sie die ConfigurationSection-Klasse, um eine benutzerdefinierte Behandlung und den programmgesteuerten Zugriff auf benutzerdefinierte Konfigurationsabschnitte bereitzustellen.

Ein Abschnitt registriert seinen Behandlungstyp mit einem Eintrag in das configSections-Element einer Konfigurationsdatei.

ConfigurationSectionCollection-Klasse

Stellt eine Auflistung verwandter Abschnitte innerhalb einer Konfigurationsdatei dar.

Verwenden Sie ConfigurationSectionCollection bei der Erstellung von benutzerdefinierten Typen, die die ConfigurationSection-Klasse erweitern. Verwenden Sie die Auflistung außerdem, wenn Sie eine Konfigurationsdatei über eine Auflistung von ConfigurationSection-Objekten programmgesteuert lesen.

ConfigurationElementCollection-Klasse

Stellt eine Auflistung von Elementen innerhalb einer Konfigurationsdatei dar.

Verwenden Sie ConfigurationElementCollection, um mit einer Auflistung von ConfigurationElement-Objekten zu arbeiten. Implementieren Sie diese Klasse, um Auflistungen von benutzerdefinierten ConfigurationElement-Elementen zu einem ConfigurationSection hinzuzufügen.

ConfigurationElement-Klasse

Stellt ein Element innerhalb einer Konfigurationsdatei dar.

Verwenden Sie ConfigurationElement als Basisklasse für die Klassen, die XML-Konfigurationselemente darstellen, z. B. ConfigurationSection.

Sie können die ConfigurationElement-Klasse erweitern, um ein Konfigurationselement innerhalb eines ConfigurationSection darzustellen. Sie können auch eine ConfigurationElementCollection von ConfigurationElement-Elementen erstellen. Jedes ConfigurationElement-Objekt erstellt eine interne ConfigurationPropertyCollection-Auflistung von ConfigurationProperty-Objekten. Diese Auflistung stellt entweder die Elementattribute oder eine Auflistung von untergeordneten Elementen dar.

ConfigurationCollectionAttribute-Klasse

Weist .NET Framework deklarativ dazu an, eine Auflistung der Konfigurationselementeigenschaften zu instanziieren.

Verwenden Sie ConfigurationCollectionAttribute, um einer ConfigurationElementCollection-Eigenschaft Attribute hinzuzufügen. Auf diese Weise wird .NET Framework angewiesen, die Eigenschaft zu instanziieren und mit den benutzerdefinierten ConfigurationElement-Werten zu initialisieren.

ConfigurationPropertyCollection-Klasse

Die ConfigurationPropertyCollection-Klasse stellt die Auflistung der ConfigurationProperty-Objekte dar. Diese Objekte können Attribute oder ConfigurationElement-Objekte eines Konfigurationselements sein.

ConfigurationProperty-Klasse

Stellt ein Attribut oder ein untergeordnetes Element eines Konfigurationselements dar. Bei einem einfachen ConfigurationElement stellen die ConfigurationProperty-Objekte Attribute dar. Bei komplexeren Konfigurationselementen, z. B. einem Abschnitt mit Unterabschnitten, können die ConfigurationProperty-Objekte sowohl ConfigurationElement-Objekte als auch Attribute darstellen.

Die ConfigurationProperty-Klasse stellt eine einzelne Konfigurationseinstellung dar. Mit dieser Klasse können Sie den Namen, den Typ oder den Standardwert einer bestimmten Konfigurationseinheit (Attribut oder Element) abrufen oder festlegen. Sie können außerdem angeben, ob das Attribut erforderlich ist, ob es sich bei dem Attribut um einen Auflistungsschlüssel handelt oder ob das Attribut eine Standardelementauflistung darstellt.

ConfigurationPropertyAttribute-Klasse

Weist .NET Framework deklarativ dazu an, eine Konfigurationselementeigenschaft zu instanziieren.

Verwenden Sie ConfigurationPropertyAttribute, um eine Konfigurationselementeigenschaft zu ergänzen. Auf diese Weise wird .NET Framework angewiesen, die Eigenschaft mit dem Wert des ergänzenden Parameters zu instanziieren und zu initialisieren.

Siehe auch

Aufgaben

Gewusst wie: Erstellen von benutzerdefinierten Konfigurationsabschnitten mit ConfigurationSection

Gewusst wie: Erstellen von benutzerdefinierten Konfigurationsabschnitten mit IConfigurationSectionHandler

Konzepte

Struktur der ASP.NET-Konfigurationsdatei (Abschnitte und Abschnittshandler)