2009-04-09 65 views
3

我想將服務器應用程序中的事件傳遞給多個客戶端。由於我使用wcf向客戶端公開服務接口,所以我在wcf異步回調機制中查看了一下,但似乎不支持將一條消息分派給多個客戶端。 MSMQ是實現向多個客戶端傳遞事件的更好方式。在wcf中使用遠程事件

感謝。

===編輯===

使用MSMQ我能夠實現我需要什麼。

我的服務器應用程序從客戶端獲取消息的位置創建一個隊列。客戶端使用MessageQueue提供的peek方法。這使隊列中的消息可用於其他客戶端。

爲了避免用消息填充隊列,服務器發送消息的屬性TimeToBeReceived集的值非常低,導致消息過期。

這實在是一種遺憾,MSMQ不提供話題,例如JMS

=== EDIT 2 ===

所有執行在WCF發佈訂閱模式很簡單了。

這兩篇文章(article1,article2)描述瞭如何做到這一點。

回答

1

你要做的就是發佈者訂閱者多播。不,你不能在WCF中編寫大量的樣板代碼。 MSMQ也不支持多播。

看看(所有免費和開源)NServiceBus,MassTransit或Rhino服務總線,如果你可以生活沒有WCF。 如果您必須使用WCF,請查看Neuron(商業產品)。