Einen benutzerdefinierten Abschnitt registrieren
Ein benutzerdefinierter Abschnitt muss unter einem Namen registriert werden, damit er ordnungsgemäß funktioniert (Listing 3).
Listing 3
...
Das Attribut name im -Tag gibt den Namen des neuen Abschnitts an. Die Eigenschaft type im -Tag bezeichnet die Klasse, mit der die Inhalte des Abschnitts gelesen und geschrieben werden. Für den Beispielabschnitt
Listing 4
Es stellt sich nun die Frage, wie untergeordnete Abschnitte eines Abschnitts zu verarbeiten sind. Wie Sie gleich sehen werden, ist das allgemeine Konzept hierfür der Behandlung einzelner Eigenschaften recht ähnlich.
Untergeordnete Abschnitte verschachtelnUntergeordnete Elemente eines Abschnitts können verschiedene Typen aufweisen. Zum Beispiel könnte ein Abschnitt den folgenden untergeordneten Abschnitt enthalten:
...
In diesem Fall definieren Sie in der übergeordneten Konfiguration eine Eigenschaft, die einen anderen Abschnittstyp zurückgibt:
[ConfigurationProperty("forms")]
public FormsAuthenticationConfiguration Forms { get; }
Dabei ist FormsAuthenticationConfiguration ein Typ, der von ConfigurationElement erbt und den gleichen Regeln wie ConfigurationSection folgt. Fügen Sie öffentliche Eigenschaften hinzu und versehen Sie sie mit dem Attribut ConfigurationProperty. Auf diese Weise lässt sich eine beliebige Verschachtelungstiefe erreichen.