处理完一条消息后,我需要发送一条新消息。这是一些命令事件模式,我刚刚处理了一个命令,并且需要提交一个事件(到同一总线)。
消息来源的总线上下文在处理程序中是否可用?如果没有,你会建议我如何找回正确的巴士?
最佳答案
我不确定我是否理解您想要实现的目标,但在我看来,您正在实现通常称为请求/回复的内容?在这种情况下,这很容易,因为处理程序可以执行以下操作:
public class SomeRequestHandler {
readonly IBus bus;
public SomeRequestHandler(IBus bus) {
this.bus = bus;
}
public void Handle(SomeRequest request) {
bus.Reply(new SomeReply(...));
}
}
发送的消息会自动带有 rebus-return-address
header当您 bus.Reply
时,消息处理程序将使用它作为目的地。
关于c# - 将事件重新提交到 rebus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24310795/