Tutorial: Strings im .config File speichern und anwenden

Tutorial: Strings im .config File speichern und anwenden

Wenn man weiss, das man im Zukunft ein gewissen Namen oder ähnliches, wie zum Beispiel die Credentials im Zukunft verändern möchte, ist es sehr sinnvoll, diese im .config File zu speichern statt “hard codiert” im Code zu lassen.
Die Begründung dafür ist ganz einfach, um eine Veränderung im .config braucht man nur eine Art von Notepad, für etwas hard codiert zu ändern, muss man alles wieder neu compilieren.

Schritt:

  • Strings im .config File speichern
  • Strings vom .config File im Code lesen
  • Strings vom .config File im Code überprüfen

Strings im .config File speichern

Das .config File heisst je nach Projekttyp ein bisschen anders.
In unserem Beispiel haben wir eine Consolenanwendung und dementsprechend heisst unseres .config File “App.config”.

appconfig
App.config

Jetzt können wir den “<appSettings>” hinzufügen und darin beliebigen Strings  hinzufügen mit den Tag “<add key=”[VariableNamen]” value=”[DeinString]” />”.

addedStringsToConfig
Hinzugefügte Strings

Wichtig: Wenn ein “<configSections>” Tag vorhanden ist, muss er direkt unter dem “<configSections>” stehen. Also darf man die “<appSettings>” Tag nicht oberhalb hinzufügen.

configSections
<configSections>

Strings vom .config File im Code lesen

Jetzt haben wir unsere Strings abgespeichert, aber wie können wir sie jetzt im Code ansprechen?

Das ist sehr einfach, man kann es, wie immer beim Programmieren, auf verschiedene Arten lösen, ich bevorzuge aber die folgende Lösung.
Sie ist ganz einfach zu implementieren und sie ist sehr verständlich.

Ich erstelle für jeden String einen “privat member variable” und befülle sie durch den ConfigurationManager direct.

readingStringsInCode
.config String im Code ansprechen und in member Variablen speichern

 

Für den ConfigurationManager braucht man die System.Configuration Referenz.

using Systemconfig
using System.Configuration

 

Die kann man ganz einfach hinzufügen:

 

Rechtsklick auf “References” -> “Add Reference” -> “Framework” und dann das Kästchen bei der “System.Configuration” auswählen.

addUsingSystemConfiguration
Add System.Configuration

Strings vom .config File im Code überprüfen

Wir können bereits die Strings vom App.config  benutzten, aber wenn jetzt etwas im App.config nicht stimmen würde und eine der benutzten Variablen nicht mehr vorhanden ist, kann das zu ein grosses Problem werden.

Deswegen sollte man im Konstruktor der Klasse sicherstellen, dass die Member Variablen weder Null noch Empty sind.

Ich mache meistens dafür eine kleine Methode, man könnte aber auch es direkt vom Konstruktor machen, ist aber in meiner Meinung nicht so schön.

CheckSettingsValuesInConstr
Methode Call von der Konstruktor

 

checkingMembersMethod
Kontrolle null or empty