c# - 将事件重新提交到 rebus

标签 c# rebus

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

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

最佳答案

我不确定我是否理解您想要实现的目标,但在我看来,您正在实现通常称为请求/回复的内容?在这种情况下,这很容易,因为处理程序可以执行以下操作:

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/

相关文章:

c# - 如何将异常消息转发到 Rebus 错误队列

c# - FileHelper 无法处理其类中的 ReSharper 排序变量

c# - 此代码是否被视为递归?

c# - 限制 WPF ListView 中 TextBlock 的宽度

rebus - 有没有办法指定重试消息的等待时间?

c# - 在异步/等待代码中重新分配 Transaction.Current 时上下文丢失

C# 停止并继续

c# - ComboBox 数据源和 Entity Framework

.net-core - Rebus 优雅关闭

c# - Rebus 中未处理的随机消息