2011-06-15 71 views
1

處理的消息,我只是新的服務總線(特別是NServiceBus)和剛纔寫我的第一個傳奇。NServiceBus:按需

佐賀旨在免費獲贈事務,然後發送關閉消息來驗證用戶ID,支付細節和產品細節等針對大多封閉系統(難以進入編程)。現在一些功能很容易自動化並編寫處理程序,但是有一些情況下需要手動干預來完成事務,因爲沒有api可用於執行這些任務。現在我們將要有多個人工代理對此進行工作,因此併發性是一個問題,我想爲什麼不讓每個用戶按需提取下一個消息,因此可以利用MSMQ中固有的併發性。

我一直沒能找到對下iBus NHibernate的任何方法,以允許按需檢索下一個可用的消息,因爲它似乎一切都是基於推送。所以我創建了一個UI,它使用標準的.NET System.Messaging.MessageQueue API手動檢索MSMQ中的消息,並允許用戶與此交互,然後通過IBus將回複寫回傳統。 Send()方法。

我在關於這個主要問題是:這是否打破圍繞NServiceBus的fundemental原則是什麼?如果沒有反正通過NServiceBus API來做到這一點?

你也將處理通過MSMQ或通過UI應用程序的併發?

乾杯

回答

3

一切都在NSB是故意的whole host of reasons單向的。爲了通知你的客戶,他們需要做一些事情,你可以輪詢一個視圖模型,看看是否有工作需要完成的時間間隔。佐賀將負責插入/更新正確的行以供UI使用。一旦UI完成,你可以使用NSB發送()一條消息給佐賀。如果這是一個Web UI,請查看下載中的AsyncPages示例。

另一種方式做,這將是推動一個消息給客戶端,假設短信與客戶端一起安裝。您需要在後臺創建某種消息泵。再次,一旦工作完成,一個簡單的Send()就可以完成。