Programmers Blog

Softwareentwicklung Thomas Schössow

Sie befinden sich hier: [wpseo_breadcrumb]

yamldotnet – Alternative zum System.Configuration.ConfigurationManager

yamldotnet-configuration-vertragsverwaltungAuf der Suche nach einem Ersatz für den .NET ConfigurationManager (System.Configuration) habe ich im Internet yamldotnet gefunden. Bei YAML handelt es sich laut Wikipedia um eine

„…eine vereinfachte Auszeichnungssprache (englisch markup language) zur Datenserialisierung, angelehnt an XML….“

YAML ist auch schon aus anderen Bereichen bekannt, so gibt es auch ein recht bekanntes CSS Framework und andere Nettigkeiten, die man im täglichen Leben so brauchen kann. Aber zurück zu yamldotnet…

Man kann yamldotnet mittels des Package Managers sehr einfach seiner Anwendung hinzufügen. Ein Beispiel zur Verwendung dieses Packages findet sich im Blog von Robert Mühsig, welches mir als Grundlage für meinen Anwendungsfall dient.  Es bietet Funktionen zum einfachen Serialisieren/ Deserialisieren von Klassen und ermöglicht damit ein einfaches Speichern und Laden von Konfigurationen für Programme.

In meinem Fall realisiere ich damit für mein Modul „Benachrichtigung“ für die Vertragsverwaltung TSVertrag die Konfiguration der SMTP Server – Daten und Mailadressen, ohne diese in eine Datenbank  ablegen zu müssen. Die Speicherung erfolgt dabei im Textformat und kann „von Hand“ editiert werden. Mit ein paar Validierungs-Funktionen in C# kann man schnell und einfach eine gewisse Form der Validierung realisieren. Yamldotnet übernimmt dabei die Serialisierung  auch komplexerer Klassen. In meinem Fall beschränken sich die Klassen zu Konfiguration allerdings auf DateTime, String sowie INT.

Persönlich finde ich diese Art der Sicherung von Konfigurationen schöner als zum Beispiel die Ablage in der Registry. Vor Allem  ist es damit sehr viel einfacher, Software zu realisieren, die keine Änderung am System bei der Installation und im Betrieb vornimmt. Somit kann diese dann bei Bedarf ohne Rückstände wieder deinstalliert werden. Das halte ich für kundenfreundlich. Mich würde ein solches Verhalten einer Software eher dazu bewegen, eine Installation zu Testzwecken durchzuführen.

 

Schreibe einen Kommentar

Menü schließen