Frage

Unsere Lösung ist eine Reihe von Windows- und Webdiensten, die alle auf einem Computer ausgeführt oder vollständig verteilt werden können.

Wir brauchen nur ein Stück Konfiguration, um alle diese zusammenzubinden (es ist zufällig ein Rabbitmq -Endpunkt, aber das ist nicht wichtig).

Einige unserer Dienste müssen als 32 -Bit -Apps ausgeführt werden. Einige der Webdienste werden in 32 -Bit -App -Pools ausgeführt, sodass wir eine Mischung aus Prozessen mit 64 und 32 Bit, häufig auf derselben Maschine, ausgeführt werden.

Durch die Präferenz haben wir unser One -Config -Stück in .NET machine.config eingelegt. Meine aktuelle Aufgabe ist es, eine Bare Bones Win-Forms-Benutzeroberfläche zu schreiben, um die Maschine mit unserem Konfigurationsstück zu aktualisieren.

Öffnen Sie jedoch standardmäßig die Maschinenkonfiguration mit

config = System.Configuration.ConfigurationManager.OpenMachineConfiguration();

Öffnet die Maschine.Config, die mit der Bit-Unsicherheit der laufenden Benutzeroberfläche verbunden ist, jedoch jedoch Ich muss sowohl 32- als auch 64 -Bit -Maschine -Konfigurationsdateien mit demselben Wert aktualisieren.

Gibt es eine bekannte und sichere Methode, um dies zu tun?

Mein erster Instinkt ist es, eine Konsolen -App zu haben, die die Benutzeroberfläche zum tatsächlichen Update durchführen kann, und 2 verschiedene Geschmacksrichtungen mit einem 32 und einem 64 -Bit.

Oder gibt es einen besseren Weg, dies zu tun?

War es hilfreich?

Lösung

Ich denke, Sie sollten in der Lage sein, die zu verwenden OpenMappedMachineConfiguration Methode im KonfigurationManager zum Öffnen einer bestimmten Maschinenkonfigurationsdatei.

var path = "path to desired machine config";
ConfigurationFileMap cfm = new ConfigurationFileMap(path);
Configuration config = ConfigurationManager.OpenMappedMachineConfiguration(cfm);

Weitere Informationen zur Methode finden Sie hier:http://msdn.microsoft.com/en-us/library/system.configuration.configurationManager.openmappedMachineConfiguration(v=vs.110).aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top