MassTransit 调解器:Send/Publish 添加的有效负载未在 ConsumeContext 中找到

MassTransit Mediator: Payload added by Send/Publish not found in ConsumeContext

我正在使用 MassTransit 调解器向我的消费者发送 Send/Post 消息,但是我希望将一些元数据作为有效负载传递给消费者,即

await mediator.Publish(message, ctx => ctx.GetOrAddPayload(() => metadata));

我查看了 MassTransit 的代码,似乎来自 MessageSendContext<T> 的有效载荷没有复制到 MediatorReceiveContext<T>

所以我的问题是它是设计使然还是以某种方式忽略了将有效负载传递给 MediatorReceiveContext<T> .ctor,因为它有一个参数 params object[] payloads 可以完美地完成这项工作。

这是设计使然,因为生产者和消费者之间的耦合会引入不一致的期望,因为有效载荷不会通过总线在生产者和消费者之间传输。如果您需要将数据传递给消费者,应该使用 headers.

来完成