是否存在同步执行消息的情况



我想用Rebus替换我的消息系统,但我需要同步执行一些消息。

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

"客户端->控制器->总线(Tx1开始->处理程序1-处理程序2->Tx1完成)->Http.OK"

你知道我该如何实现吗?

谢谢,

目前没有办法,但没有什么可以阻止您在后台有一个处理程序,将收到的回复放入静态ConcurrentDictionary<string, Reply>中,然后您可以定期轮询与您发送的消息的相关性ID相对应的回复。

您可以将等待封装在返回Task的可await方法中,或者如果您想阻止线程直到收到回复,您可能需要查看ManualResetEvent。

当然,您必须使用两个字典来完成此操作,或者构建另一个能够等待多个回复的机制。

不过,这通常不是关联回复的最佳方式,所以我很好奇你想实现什么?

相关内容

最新更新