【发布时间】:2021-11-23 17:52:16
【问题描述】:
我有一个 C# 应用程序,它从一个 Azure 服务总线(外部)读取数据,然后发布到另一个 Azure 服务总线(内部)。
在我的发布类中,构造函数接受IPublishEndpoint,在发布消息时使用:
IPublishEndpoint endpoint;
...
await endpoint.Publish(message, cancellationToken);
endpoint的类型是:massTransit.Context.ConsumeContextScope<ExternalServiceBus.Messages.IDeviceChanged>
接收消息的上下文,而不是应该发布的上下文。我相信这会导致消息被发送回外部总线,但由于没有该类型消息的端点,因此无法发布。
我无法将 IPublishEndpoint 替换为 IBusControl,因为 IBusControl 创建了一个新的 DI 范围以用于发布,并且我需要来自外部消费者过滤器的数据传递给内部发布过滤器。
如何获得正确的(内部)发布上下文?
【问题讨论】:
-
你在使用multi-bus吗?
-
@ChrisPatterson 是的
标签: c# masstransit