Ich habe eine Klassenbibliothek erstellt, die drei Entitätsmodelle für drei Datenbanken enthält, mit denen andere Klassen eine Verbindung herstellen müssen. Diese Klassenbibliothek wird dann von drei verschiedenen Webdiensten und einer Website verwendet. Diese sind alle auf ihrem eigenen Server installiert, so dass es nicht einfach ist, sie die gleichen Verbindungsdaten teilen zu lassen.Wechseln der Verbindungszeichenfolgen
In meinen web.config-Dateien Ich habe diese Zeile:
<connectionStrings configSource="Dependencies.ConnectionStrings.Config"/>
Dies wird die Verbindungszeichenfolgen aus einer separaten XML-Datei laden. Es funktioniert gut, aber es bedeutet auch, dass ich jetzt 5 verschiedene Kopien dieser Dependencies.ConnectionStrings.Config Datei habe. Ich würde es vorziehen, während der Entwicklung eine einzige Datei zu verwenden.
Meine Lösung enthält jedoch auch vier Setup-Projekte und in diesen Setups müssen die Konfigurationsdateien nebeneinander liegen.
Also, wie sage ich VS, um eine einzige Konfigurationsdatei zwischen mehreren Projekten zu teilen, ohne web.config zu ändern?
Um es etwas komplizierter zu machen, verwendet die Klassenbibliothek eine app.config, um die Verbindungszeichenfolgen zu speichern. Und ich kann app.config nicht sagen, um die Verbindungszeichenfolgen mit einer separaten Konfigurationsdatei zu verknüpfen, anscheinend ... Eine zusätzliche Komplikation besteht darin, dass die Verbindungszeichenfolgen nach der Installation von der Systemadministration geändert werden müssen. Das liegt daran, dass es sich um eine andere Datenbank als die Entwicklungsdatenbanken kümmern muss. (Tatsächlich verwende ich während der Entwicklung 3 Datenbanken, um die Entitätslogik aufzuteilen. Die Test- und Produktionsumgebungen verwenden nur eine einzige Datenbank.) Meine aktuelle Lösung ist einfach. Ich habe die Datei "Dependencies.ConnectionStrings.Config" in einen separaten Ordner in meiner Projektmappe eingefügt und ziehen Sie sie regelmäßig in die anderen Projekte, um sie zu aktualisieren. Obwohl dies funktioniert, ist es fehleranfällig ...
Das Stammverzeichnis web.config wäre ebenfalls ein guter Speicherort, aber die Verbindungszeichenfolgen ändern sich manchmal während der Entwicklung und beim Testen. Das Ändern einer einfachen XML-Datei ist für die Tester, die keine Erfahrung mit IIS selbst haben, etwas einfacher. (Deshalb muss ich Setups erstellen.) –