Frage

Ich werde versuchen zu erklären, was genau möchte ich erreichen ersten.

Stellen Sie sich zwei Benutzer mit einer windows forms-Anwendung, wenn Ein Benutzer öffnet eine Besondere form einer Sperre angewendet wird, um die Daten Datensatz zugrunde liegende form so, daß nur der Anwender kann die änderungen in dieser Zeit.

User B hat eine Liste mit allen Datensätzen (in einem raster), die unter anderem enthält einen Verweis auf den Datensatz bereits eröffnet von Benutzer A.Was wir wollen zu tun ist, wenn Benutzer A öffnet die Datensätze User B ' s Liste der Datensätze wird aktualisiert und zeigt ein Schloss-Symbol neben der Zeile, um anzugeben, wird der Datensatz in Verwendung.

Dies ist ein triviales Beispiel, was wir tun, mit messaging -, aber Sie bekommen die Idee, Benutzer Eine tut etwas, Benutzer B muss, kennt es.

Ich habe ein system eingerichtet mit Jabber-net für C# und einen OpenFire-Jabber-Server.Im Grunde, wenn eine Nachricht gesendet wird, wird eine neue Zeile eingefügt wird, die auf einer Nachrichten-Tabelle in der Datenbank.Die Nachrichten, die Tabelle wird beobachtet von einem service-client mit dem SqlDependancy Objekt, so dass, wenn Sie eine neue Nachricht fertig ist der Dienst erstellt eine entsprechende Nachricht und sendet Sie an den gewünschten client über Jabber und der OpenFire-server.

Das funktioniert OK, aber OpenFire ' s out-of-the-box-Funktionalität ist für die Unterstützung von Instant Messaging, die offensichtlich nicht das, was ich versuche zu erreichen .Das problem, das ich habe, ist, dass, wenn ein Benutzer angemeldet ist zwei Anwendungs-Kontexten (D. H.Test-und Live) OpenFire nicht wissen, was man zu eine Nachricht schicken, weil die JID Struktur von user@server/Ressource nimmt keine Notiz von der Ressource.

Im Grunde die Weise, die ich bin derzeit mit OpenFire-und Jabber-net ist nicht ganz richtig.

Gibt es ein Muster, das ich verwenden können, zu erreichen, was ich erreichen möchte, d.h.senden Sie eine Nachricht an einen client, erzählen Sie etwas tun, während Sie können angeben, welche Kunden Sie senden die Nachricht zu.XMPP schien die Antwort, da kann ich bauen mein eigenes Nachrichten-Typen analysiert werden.

Meine Anwendung ist eine Windows-Forms .NET 3.5 C# - Anwendung.

War es hilfreich?

Lösung

Ich würde nur hinzufügen, ein paar Daten mehr, um anzugeben, welche Anwendung Kontext betroffen ist, und die anderen Kunden die Entscheidung, ob Sie brauchen, um die Meldung verarbeiten oder nicht.

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