Konfigurationsdateien in .Net: Wie JSON in IOptions und IConfiguration funktioniert
Vor nicht allzu langer Zeit war alles XML im Bereich von C# und .Net: Solution-Dateien (.sln), Projektdateien (.csproj) und jede Menge Einstellungs- und Konfigurationsdateien (.settings). Doch inzwischen ist das JSON-Dateiformat auf dem Vormarsch. Der Gedanke "wer HTML lesen kann, kann auch XML lesen, und HTML ist ja weit verbreitet" weicht einer klareren Struktur, weniger Overhead in der Übertragung und besserer Lesbarkeit. Wir beleuchten die verschiedenen Möglichkeiten des beliebten IOptions-Interface in Microsofts .Net und zeigen Fallstricke auf.
Microsoft setzt in den Einstellungen seit .Net Core auf die appsettings.json statt app.settings (xml)-Datei. Zusammen mit dieser Änderung wurde das Handling dieser Dateien in den vergangenen Versionen des Frameworks mehr und mehr vereinfacht. Mit dem IOptions-Interface können wir, mit ein paar Dependency-Injection-Tricks, unsere Einstellungen schnell, einfach und sicher aus einer (oder mehreren) Dateien lesen und im Code anwenden.