5

Ich frage mich, ob es einige Best Practices zum Speichern von Konfigurationseinstellungen gibt. Nehmen wir an, Sie haben einige Einstellungen für mehrere Anwendungen freigegeben. Ich habe sowohl gute als auch schlechte Möglichkeiten gehört, diese Arten von Einstellungen zu speichern, die geteilt werden müssen (XML-Dateien).Bewährte Methoden bei den Konfigurationseinstellungen

Ich frage mich, was ist ein guter Standard in Bezug auf die Pflege von App-Einstellungen über Builds für eine einfachere Bereitstellung.

Ich glaube, ich bin in diesem 2-Szenarien suchen:

  1. Eine Anwendung im Hause (ob es ein große .com oder kleiner Admin-App ist).
  2. Wenn Sie eine API erstellen, die andere nutzen können, erfahren Sie, wie Sie Konfigurationseinstellungen referenzieren, wenn Sie nicht wissen, wie die Endwerte vom Verbraucher stammen, der Ihre API in ihrer Anwendung verwendet.

Added-1:

Dank. Ich habe Horrorgeschichten gehört, bei denen es an einigen Orten extrem schwierig ist, Konfigurationseinstellungen für mehrere Anwendungen zu verwalten. Ich bin kein Build-Typ, also weiß ich nicht warum, aber ich möchte definitiv versuchen, sicherzustellen, dass ich es jetzt in Bezug auf web.config vs benutzerdefinierte Konfigurationsdateien usw. Art der Szenarien verstehe.

Added-2:

Und was ist, wenn Sie eine API erstellen, verbraucht werden. Sie haben eine Klasse, die bestimmte Konfigurationsinformationen abruft, aber diese Endpunkte (Eigenschaften) sind erst definiert, wenn der Client Ihre API (speziell C# /. NET) verwendet? Wo und wie würden Sie diese Eigenschaften in einer von Ihnen erstellten Konfigurationsklasse wie "ApplicationDefinitions" festlegen?

+0

Sie müssen wirklich angeben, für welche Umgebung das ist. Sonst wird diese Frage in 1000 Richtungen explodieren. – krosenvold

Antwort

1

Wenn es sich um mehrere Anwendungen handelt, können Sie (sehr vorsichtig) die Einstellungen in machine.config legen.

Oder Sie können eine separate Repository-Datei für die gemeinsame Konfiguration einrichten, die eingelesen und zum Generieren einer neuen web.config verwendet wird, wenn Sie Ihre Webanwendung/-lösung erstellen.

+0

Welche Plattform nehmen Sie an? Wo ist eine Datei "machine.config" oder eine Datei "web.config" gespeichert? –

+0

Verzeihung ... das ist spezifisch für .NET – Kon

0

Was ich versuche, getrennt zu tun ist, die Konfigurationseinstellungen, die für Einsätze an unterschiedliche Umgebungen in separate Dateien anders sein werden, durch logische Funktionen organisiert, und dann sind diese Dateien nicht in dem Bereitstellungsskripts ...

Wenn Wenn Sie in .Net codieren, können Einstellungen, die für mehrere Apps gelten, in der Datei machine.config gespeichert werden. Legen Sie sie nicht erneut direkt in machine.config ab, sondern erstellen Sie einen Verweis auf eine separate Datei (mithilfe von ein benutzerdefiniertes Attribut configSection und configSource = "", um einen indirekten Verweis auf diese separate Datei zu erstellen ...

1

Wir müssen mehrere UAT (User Acceptance Tests), Produktion, Entwicklung unterstützen Optimierungs- und Disaster Recovery-Umgebungen.

Idealerweise würden diese Informationen alle in einem riesigen LDAP-Server sein ..

In der realen Welt haben wir ein ANT-Task geschrieben, die Jakarta-Geschwindigkeit als Template-Engine verwendet. Dies erzeugt mehrere Dateien (UAT, DEV, PROD, DR) aus einer einzigen Vorlagendatei.

Wir haben eine zentrale Datei, die für alle gängigen Sachen und kleinere Dateien für einzelne Anwendungen verwendet wird. Die Befehlszeile für eine beliebige App muss wissen, ob es sich um ein UAT/DEV .. -System usw. handelt, das ausgeführt wird, und lädt dann die gemeinsame Datei und die appspezifische Datei.

Dies funktioniert sehr gut in der Praxis und wir verwenden es seit etwa 8 Jahren. Ich habe viele andere Leute gesehen, die versuchen, mehrere App-Dateien für alle ihre Umgebungen zu jonglieren, und es ist NICHT schön. Fehler werden oft gemacht.

Verwandte Themen