2009-04-09 10 views
3

Ich möchte Ereignisse von einer Serveranwendung an mehrere Clients übermitteln. Da ich mit wcf eine Service-Schnittstelle für die Clients verfügbar mache, habe ich einen Blick in den asynchronen Callback-Mechanismus von wcf geworfen, aber es scheint nicht zu unterstützen, eine Nachricht an mehrere Clients zu senden. Ist MSMQ eine bessere Möglichkeit, die Zustellung von Ereignissen an mehrere Clients zu implementieren.Verwenden von Remote-Ereignissen in wcf

Danke.

=== === EDIT

MSMQ verwenden konnte ich erreichen, was ich brauche.

Meine Server-App erstellt eine Warteschlange, von wo die Clients Nachrichten abrufen. Ein Client verwendet die von MessageQueue bereitgestellte Peek-Methode. Dies hält die Nachrichten in der Warteschlange für andere Clients verfügbar.

Um zu vermeiden, dass die Warteschlange mit Nachrichten gefüllt wird, sendet der Server Nachrichten mit der Eigenschaft TimeToBeReceived, die auf einen sehr niedrigen Wert gesetzt sind, wodurch die Nachricht abläuft.

Es ist wirklich schade, dass MSMQ nicht Themen wie JMS

=== EDIT 2 ===

Nachdem alle Muster in WCF Publisher Abonnent Implementierung bereitstellt einfach.

Diese beiden Artikel (article1, article2) beschreiben, wie dies getan werden kann.

Antwort

1

Was Sie versuchen, ist Publisher Subscriber Multicast genannt. Nein, Sie können es nicht in WCF tun, ohne viel Code zu schreiben. MSMQ unterstützt Multicasting ebenfalls nicht.

Werfen Sie einen Blick auf (alle freien und Open Source) NServiceBus, MassTransit oder Rhino Service Bus, wenn Sie ohne WCF leben können. Wenn Sie WCF verwenden müssen, werfen Sie einen Blick auf Neuron (kommerzielles Produkt).

Verwandte Themen