Was ist die beste Vorgehensweise, um Daten zwischen verschiedenen Anwendungen auf demselben Computer auszutauschen und sie zu benachrichtigen, wenn sich die Daten geändert haben?
Ich habe 4 Anwendungen, die dasselbe Projekt verwenden, um ihre Einstellungen zu ändern. Wenn ich die Einstellung im Projekt ändere, müssen andere Anwendungen auf diese Änderung reagieren und müssen wissen, dass die Einstellung geändert wurde.
Ich habe über IPC nachgedacht, um Einstellungsänderungen vorzunehmen und dann die Änderungsinformationen an alle Benutzer zu senden, aber es wäre großartig, wenn eine solche Bibliothek bereits existiert.
BEARBEITEN:
Ich habe eine Lösung gefunden, die für mich funktioniert hat. Wir haben uns entschieden, nicht viel Zeit in diese Funktionalität zu investieren, da es nicht extrem kritisch ist, die anderen Anwendungen zu aktualisieren.
Wir speichern unsere Einstellungen wie zuvor in einer XML-Datei und ich habe FileSystemWatcher für diese Datei, um alle Änderungen zu erhalten. Wenn ich also die Einstellungen ändere, gehen alle 4 Anwendungen und lesen die Einstellungsdatei und bestimmen, ob sie eine Aktion ausführen müssen oder nicht.
Die zu wählende Lösung hängt von verschiedenen Parametern ab:
Zum Beispiel:
Dies sind nur zwei Beispiele von vielen verfügbaren Lösungen (Shared Memory, gemeinsame Anwendungsdomäne usw.).
Was Sie getan haben, scheint weise zu sein. Und ich habe eine andere Erfahrung mit MSMQ . Sie können private oder öffentliche Warteschlangen erstellen, da Sie alle Ihre Apps auf demselben Computer haben, die private Warteschlange ist in Ordnung, andernfalls sollten Sie öffentliche Warteschlangen verwenden. In dieser Zeit hatte ich Spring.Net als mein Framework (Object Builder & amp; Abhängigkeit Injector) gewählt. Spring.net hat brillante QuickStarts und einer von ihnen verwendet MSMQ als kommunizierende Bridge zwischen Anwendungen. Wenn ich Sie wäre, würde ich den Queuing-Ansatz verwenden, da Sie Apps benachrichtigen können, die auf verschiedenen Rechnern laufen.
Außerdem bietet WCF praktische Möglichkeiten zum Entwickeln eines verteilten Service über die zugrunde liegende MSMQ-Komponente.
Darüber hinaus ist Publish-Subscribe ein gängiges Entwurfsmuster, das häufig in Client / Server verwendet wird Kommunikationsanwendungen. In der WCF Service-Entwicklung wird das Publish-Subscribe -Muster verwendet helfen auch in solchen Szenarien, in denen die Dienstanwendung Daten bestimmten Gruppen zur Verfügung stellt Clients, die an dem Service und den Daten interessiert sind, werden den Kunden als Push-Modell zur Verfügung gestellt aktiv (statt vom Kunden abzurufen)
Tags und Links c# notifications share