Individuelle Einstellungen zur Konfiguration in .NET

Die eigentlichen Konfigurationsdaten sind über eine statische ConfigurationSettings-Klasse zugänglich. Diese Klasse stellt die Methode GetConfig() bereit, welche ein Objekt zurückgibt, das man in die entsprechende Collection casten kann. Hier sollen verschiedene Methoden für den Zugriff und das Speichern von Konfigurationsinformationen vorgestellt werden.

Konfigurationsdaten für Anwendungen werden in der zugehörigen Datei App.config gespeichert und im configSections-Knoten definiert. Jede Sektion wird durch ein Typattribut definiert. Die drei Typen, um die es hier gehen soll, sind NameValueSectionHandler, SingleTagSectionHandler und DictionarySectionHandler. Man kann auch Sektionsgruppen mit einem sectionGroup-Knoten definieren. Hier ein Beispiel für eine solche Sektionsdefinition:

Sektionsgruppen sind individuelle Sektionen, die in einen sectionGroup-Knoten eingebunden sind. Es folgt ein Beispiel für eine Sektionsgruppe:

Und schließlich werden die Sektionen, die man festlegt, zum Erstellen individueller XML-Knoten verwendet, welche die Konfigurationsdaten speichern. Um Daten zu dieser individuellen Sektion hinzuzufügen fügt man die Sektion einfach als XML-Knoten ein und verwendet die Methode add node, um einer Collection Daten hinzuzufügen. Dazu ein Beispiel für eine NameValueSectionHandler-Sektion:

Der Abschnitt MyCustomSection enthält eine Name/Value-Collection, die aus zwei Einträgen besteht, die über key1 und key2 identifiziert werden.

SingleTagSectionHandlers sind noch einfacher zu erzeugen. Die Sektionsdefinition findet sich wie der NameValueSectionHandler im configSections-Knoten. Aber die Konfigurationsdaten werden, wie der folgende Codeausschnitt zeigt, in SingleTagSectionHandlers auf eine andere Weise hinzugefügt als in NameValueSectionHandlers:

DictionarySectionHandlers ähneln stark NameValueSectionHandlers, außer dass sie Hashtabellen anstelle von NameValueCollections zurückgeben. Normalerweise sind Hashtabellen schneller als NameValueCollections, wenn es um den Zugriff auf umfangreichere Konfigurationsdaten geht. DictionarySectionHandlers sind genauso konstruiert wie NameValueSectionHandlers. Ein Beispiel:

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

2 Tagen ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

2 Tagen ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

2 Tagen ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

2 Tagen ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

2 Tagen ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

2 Tagen ago