2015-12-01 37 views
0

我想用Rebus替換我的消息系統,但我需要同步執行一些消息。無論如何要同步執行消息嗎?

我的webapi控制器需要等到所有處理程序完成。

「客戶端 - >控制 - >總線(TX1開始 - > Handler1 - Handler2 - > TX1完成) - > Http.OK」

你有什麼想法,我怎麼能實現呢?

感謝,

回答

0

沒有辦法的時刻,但沒有什麼能阻止你不必在把收到的回覆成靜態ConcurrentDictionary<string, Reply>,然後你就可以定期輪詢對應於例如回覆後臺處理程序您發送的消息的相關ID。

你既可以包裹在等待返回一個Taskawait能夠方法,或者你可能想,如果你想阻止線程,直到收到的答覆看一看ManualResetEvent

你當然必須用兩個字典來做這件事,或者建立另一種能夠等待多個回覆的機制。

這通常不是通過回覆關聯的最佳方式,所以我很想聽聽你想要達到的目標嗎?

+0

我不需要回復處理的消息。實際上,我將執行Rebus發佈消息給用戶,同時我想用Rebus替換我的distpacher(命令端同步調度程序)。而已。 – oguzh4n