Wir verwenden eine Kombination aus web.config-Einstellungen und Einstellungen auf Datenbankebene.
Für jede Einstellung stellen wir die folgende Frage: "Ist diese Einstellung spezifisch für den Computer, auf dem die Anwendung ausgeführt wird?" Wenn ja, dann geht es in die web.config. Wenn nicht, dann stellen wir eine zusätzliche Frage: "Wenn diese Einstellung geändert wird, sollte die App zum Neustart gezwungen werden?" Wenn ja, web.config. In den meisten Fällen ist ein Neustart für unsere Service Level Agreements nicht akzeptabel.
Die meisten unserer Anwendungen sind mandantenfähig und/oder werden in einer Webfarm ausgeführt. Einfache Dinge wie ein lokaler Dateisystempfad, Logging-Level oder Verbindungszeichenfolgen für die Datenbank werden in der Datei web.config angezeigt. Der Grund dafür ist, dass diese sich mit Ressourcen befassen, die für diese Maschine spezifisch sind.
So ziemlich alles andere wird die Programmausführung beeinflussen und sowohl für die App- als auch für die Datenebene zugänglich sein. Sie werden auch von anderen Anwendungen benötigt (vorausgesetzt, dass mehrere Anwendungen dieselbe Datenbank verwenden).
Schätzen Sie das zusätzliche Tag, danke Andy :) – Rob