Aktualisiert
Ich verstehe, was Sie jetzt brauchen eine Anwendungsebene Konfigurationsänderung zu propagieren.
Sie könnten, wie Sie erwähnt haben, SignalR verwenden. Dies würde erfordern einen zentralen Server, der die Websocket-Verbindungen hostet, aber hat den Vorteil, "Instant".
Alternativ, wenn Ihre Anforderungen einfach sind, würde vielleicht ein kurzfristiger In-Memory-Cache ausreichen.
Wenn es komplex ist, würde ich empfehlen, in Ereigniswarteschlangen (MSMQ, RabbitMQ) zu suchen. In diesem Modell veröffentlicht die Instanz, die die Konfiguration ändert, ein Ereignis in die Warteschlange, das von den anderen Instanzen in einem Hintergrundthread verwendet werden kann.
Original-Antwort
Microsoft Web Deploy wurde gebaut, dies zu tun. Es unterstützt das Synchronisieren von Standorten über mehrere Server hinweg, sogar bis hin zu Einstellungen für den Anwendungspool und SSL-Zertifikaten.
Die IIS-Dokumentationswebsite enthält eine spezifische Seite, die für Ihren Anwendungsfall relevant ist: Synchronize IIS.
Es gibt eine Menge bei der Konfiguration von Web Deploy beteiligt, damit ich nicht alles hier zu erklären versuchen, aber für die Nachwelt Gründe den Befehl einen lokalen Standort zu einem entfernten Rechner wäre zu synchronisieren:
msdeploy.exe -verb:sync
-source:apphostconfig="Default Web Site"
-dest:apphostconfig="Default Web Site",computername=Server1
(Der Befehl wurde mehrere Linien zur besseren Lesbarkeit aufgeteilt über)
Als einen völlig alternativen Ansatz, könnten Sie auch ein „Pull-Konfiguration“ System wie Powershell Desired State Configuration oder Chef verwenden.
haben Sie versucht Node.Js + Socket.IO? –
@vishwaratna Gibt es irgendeinen Grund, warum du einen komplett anderen Tech-Stack als SignalR empfehlen würdest, der das gleiche im bestehenden Tech-Stack macht? –