Benutzerdefinierte Abschnitte in .NET-Konfigurationsdateien (Teil 2)
Kommentare

Einen benutzerdefinierten Abschnitt registrieren
Ein benutzerdefinierter Abschnitt muss unter einem Namen registriert werden, damit er ordnungsgemäß funktioniert (Listing 3).
Listing 3

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 verwendet das System die Klasse MyPagesSection in der angegebenen Assembly. Wenn die Assembly stark typisiert und im globalen Assembly Cache (GAC) untergebracht ist, sollten Sie ihren vollständigen Namen angeben. Jetzt lässt sich das folgende Markup in Ihren .NET-Konfigurationsdateien ordnungsgemäß verarbeiten (Listing 4).

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.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -