Benutzerdefinierte Konfigurationsabschnitte in separate Includedateien auslagern

Das Attribut configSource ermöglicht es, Konfigurationsdateien auf mehrere Dateien zu verteilen.

Werden zu einer Applikation benutzerdefinierte Konfigurationsabschnitte hinzugefügt, so werden diese üblicherweise in die Standard Konfigurationsdatei app.config eingefügt. Das XML-Attribut configSource erlaubt es, diesen Bereich in eine andere Datei auszulagern. Bei dem folgenden Beispiel wurde der Bereich mySection in die Datei myApp.config ausgelagert.

<?xml version="1.0"?>
<configuration>
 <configSections>
   <section name="mySection"
            type="MySection.MyConfigurationSection, MyConfigurationSection"/>
 </configSections>
 <mySection configSource = "myApp.config"/>
</configuration>
Die Datei myApp.config enthält dann den Inhalt des benutzerdefinierten Konfigurationsabschnittes.
<?xml version="1.0"?>
<mySection>
  <values>
    <value id="1" valueAttribute="valAtt01" newValue="11.1" oldValue="1.1"/>
    <value id="2" valueAttribute="valAtt02" newValue="22.2" oldValue="2.2"/>
    <value id="3" valueAttribute="valAtt03" newValue="33.3" oldValue="3.3"/>
  </values>
&#60t;/mySection>

Die Vorteile wären:

  • Die separaten Konfigurationsdateien können unterschiedliche Zugriffsrechte haben.
  • Bei Konfigurationsdateien mit vielen Konfigurationsabschnitten kann die Übersicht verbessert werden.
  • Das parallele Arbeiten mehrerer Entwickler an den Konfigurationsdaten wird vereinfacht. Es wird nicht gleichzeitig an einer Datei gearbeitet, sondern jeder Entwickler hat seine separaten Dateien.

Author: Stefan Henneken

I’m Stefan Henneken, a software developer based in Germany. This blog is just a collection of various articles I want to share, mostly related to Software Development.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: