处理完一条消息后,我需要发送一条新消息。这是一些命令事件模式,我刚刚处理了一个命令,并且需要提交一个事件(到同一总线)。

消息来自的总线上下文在处理程序中可用吗?如果没有,您如何建议我找回正确的巴士?

最佳答案

我不确定我是否理解您要实现的目标,但是对我来说,您正在实现通常称为请求/答复的目标?在这种情况下,这很容易,因为处理程序可以做到这一点:

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# - 重新提交事件以进行重燃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24310795/

10-13 06:28