像MassTransit那样,在消费过程中发布/发送消息时,我正在尝试复制标头(基本上是TenantId)。
有关于如何修改发布管道[1],[2]的主题,但是所有主题都添加了一些硬编码的值。但是我需要将数据从“消费”传输到“发布/发送”管道。
有一种名为TransferConsumeContextHeaders
的方法完全可以满足我的需要,但我需要以某种方式访问ConsumeContext
方法中不可用的ConfigurePublish
。
谢谢。
UPD : 设法通过下面的代码实现了这一点,但是我不确定这是个好主意。
var consumeContext = context.GetPayload<ConsumeContext>();
context.TransferConsumeContextHeaders(consumeContext);
Here's完整示例。
答案 0 :(得分:0)
基于评论和一些疯狂的猜测,这是人们如何从发布/发送访问ConsumeContext的方式:context.TryGetPayload(out ConsumeContext consumeContext)
。
然后就可以对传入数据进行任何操作,例如以通用方式将一些重要数据复制到“发布/发送”。