2012-07-25 138 views
0

我現在一直在使用WCF,並且我在MSDN上發現了幾篇關於WCF發佈者訂閱模型的文章。WCF的發佈者訂閱模式

一個一個項目中,我即將踏上的要求,需要我有一臺服務器發送郵件到多臺服務器,因此,我有關於發佈/訂閱模式

我的主要的幾個疑問與此有關的是:

如果我的5個用戶中有2/5斷開連接,那麼會發生什麼情況,因爲電腦重新啓動。當他們重新連接回去時,我是否必須手動處理髮布者將消息重新發送給2位訂閱者?

我需要發佈者發送的每封郵件都可以正面聯繫所有其他訂閱者,如果他們處於離線狀態,發佈者必須負責在訂閱者重新聯機時重新發送郵件。由於發佈者可能會發送大量消息,這是否意味着我需要某種排隊機制來存儲應發送給脫機訂閱者的所有消息,並在返回時重新發送它們線上?

在我的場景中是否使用WCF的發佈者/訂閱者模式?有沒有支持斷開連接的用戶的任何模型,當用戶重新聯機時自動重新發送,還是我必須定製代碼來處理這個問題?

回答

0

你可以試試MSMQ,WCF支持它。發佈者將發送消息給5個隊列;每個消費者將讀取其隊列。

+0

如果我不想使用MSMQ由於大小限制,有沒有其他選擇?還是必須實施我自己的故障安全機制? – 2012-07-25 10:00:50

+0

您可以配置消息的最大大小,例如: 如果您不想使用MSMQ,您將擁有,如果通信失敗,爲您的消息使用本地存儲(MSMQ?)並稍後重試通信。 – schglurps 2012-07-26 09:07:02