Das .NET 2.0 und höher Konfigurationssystem ist ziemlich mächtig und erweiterbar - solange Sie nicht die Tatsache ändern wollen, alles kommt aus XML-Dateien im Dateisystem.Lesen Sie .NET-Konfiguration aus der Datenbank
In meiner Anforderung kann ich Dateien nicht ändern, da meine App in einer verwalteten Umgebung außerhalb meiner Reichweite ausgeführt wird - aber ich könnte die SQL Server-Datenbank ändern.
Ich schaue mir also an, Konfigurationsdateien oder Abschnitte in einer SQL-Tabelle zu speichern - aber wie kann ich das .NET 2.0-Konfigurationssystem daran binden?
Gibt es eine Möglichkeit, einen "benutzerdefinierten Konfigurationsanbieter" zu schreiben, der seine Konfigurationsabschnitte nicht aus einer * .config-Datei im Dateisystem liest, sondern aus einer Tabelle in der SQL-Datenbank?
Ich habe versucht, meine eigene benutzerdefinierte ConfigurationSection oder ConfigurationElement oder sogar eine benutzerdefinierte Konfiguration per se zu erstellen - aber es scheint, ich immer wieder an dem Punkt, dass ich das Config-System im Dateisystem so viel erweitern kann wie ich mag, aber ich kann es nicht meine XML-Fragmente aus einer Datenbanktabelle lesen lassen ...
Was vermisse ich? Hat jemand das schon gemacht und sich darum kümmern zu erklären/teilen?
Danke! Marc
PS: Ich habe auch versucht, nur die Config-XML in eine Zeichenfolge zu lesen, und dann es in das entsprechende zu deserialisieren. ServiceModelConfigSection - das funktioniert leider nicht, weil die ConfigSection-Basisklasse irgendwie keine Methode implementiert, die für XML serialisierbar sein muss ........ (YIKES !!!)
Aber hätten Sie nicht das Problem, wo Sie die Konfigurationsinformationen für Ihre SQL-Verbindung festlegen müssen? Sobald Sie eine Verbindung zur DB haben, können Sie einfach die Einstellungen laden, die Sie benötigen. App.Config ist nicht viel mehr als eine Nachschlagetabelle. – sipwiz
Ja - was ich versuche zu erreichen ist, WCF-Dienste innerhalb einer Datenbank zu konfigurieren. Diese WCF-Konfigurationsdateien sind QUITE LARGE AND COMPLEX - und ich möchte wirklich nicht all diese Dinge in atomare Aufgaben aufteilen -> Ich würde gerne die XML-Konfigurationsdatei aus der Datenbank lesen und anwenden. –
Ah ok, das macht mehr Sinn, ich kann sehen, warum WCF-Konfigurationen von einer db wäre praktisch. Ich vermute, dass Sie Recht haben und es muss eine Möglichkeit geben, App.Config als Stream oder Block von XML statt einer Datei einzulesen. – sipwiz