2009-07-14 6 views
4

Jeder hat einen Zeiger auf eine C# -Konfigurationsklasse, die ein .NET-Dienst verwenden kann, um Konfigurationen über einen Admin-Socket oder einen anderen Steuerport zu tun? Ich würde das lieber tun als einen Dateiwächter in der Datei app.config.dynamisch .NET Client über Socket konfigurieren

Wir haben einige lange laufende C# /. NET-Dienste (24h X 6,5 Tage/Woche), die möglicherweise im laufenden Betrieb neu konfiguriert werden müssen. Ich bin auf der Suche nach einem guten Weg, um Konfigurationsänderungen zu einem .NET-Dienst zu schieben

Alle Zeiger geschätzt.

Craig

Antwort

1

Wie über einen WCF-Dienst zur Konfiguration auszusetzen? Auf diese Weise können Sie eine gut typisierte API für die Konfiguration des Dienstes erhalten.

+0

+1 Ich habe festgestellt, einen WCF-Dienst sehr praktisch für die Konfiguration und Verwaltung eines Windows-Dienstes – SpaceghostAli

+0

SpagehostAli, haben Sie Beispiele dafür, wie dies zu tun? – Craig

0

Um auf Mangas Antwort zu erweitern;

Ich würde empfehlen, einen WCF-Endpunkt auf dem gleichen IIS-Feld zu hosten, das Ihre lang laufenden C# /. NET-Dienste hostet. Dieser Endpunkt wird an einem beliebigen Port ausgeführt.

Seine Verantwortung wäre einfach die Appconfig (s) Ihrer laufenden Dienste zu ändern. Sie könnten einen mit DataContract dekorierten Konfigurationstyp angeben, um eine nette Konfigurations-API zu ermöglichen, die dem Client zur Verfügung gestellt wird, der für das Übertragen der Konfigurationsänderungen verantwortlich ist.

0

Ich habe keine Erfahrung mit WCF, aber ich habe dieses Problem normalerweise gelöst, indem ich meine eigene API über RPC gerollt habe. Machen Sie einige Methoden verfügbar, um bestimmte Konfigurationselemente hinzuzufügen/zu entfernen/zu aktualisieren, werfen Sie eine Art UI darüber und Sie können Ihren Dienst im laufenden Betrieb aktualisieren.