我尝试将自定义有效负载添加到ConsumeContext,如此
public Task Consume(ConsumeContext<Message1> context)
{
context.GetOrAddPayload(() => new Payload());
return context.Publish(new Message2());
}
期望在Message2使用者中获得此有效负载。但是在上下文中没有这样的有效载荷;
public Task Consume(ConsumeContext<Message2> context)
{
Payload payload;
context.TryGetPayload<Payload>(out payload);
}
有效负载始终为null。 那么我可以将我的cusom有效负载添加到上下文以及如何正确执行它?感谢。
答案 0 :(得分:0)
添加到ConsumeContext
的有效负载仅对当前消息有效,并且不是持久性的。它们被中间件组件用于保存数据和/或为消费消息的下游中间件组件或服务(例如消费者,传奇等)提供数据。
如果需要在消息之间保存数据,请考虑使用通过公共标识符关联的saga,以便将消息传递到同一个saga实例。