Как добавить пользовательскую полезную нагрузку в ConsumeContext?
Я пытаюсь добавить пользовательскую полезную нагрузку в 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);
}
полезная нагрузка всегда равна нулю. Могу ли я добавить свою полезную нагрузку cusom в контекст и как это сделать правильно? Благодарю.
Полезные значения, добавленные в ConsumeContext
, действительны только для текущего сообщения и не являются постоянными. Они используются компонентами промежуточного программного обеспечения для сохранения данных и/или предоставления данных для компонентов или сервисов промежуточного программного обеспечения (таких как потребители, саги и т.д.), Которые потребляют сообщения.
Если вам нужно сохранить данные между сообщениями, подумайте об использовании саги, скоррелированной общим идентификатором, чтобы сообщения доставлялись в один и тот же экземпляр саги.
- Вопросы
- Masstransit
- Как добавить пользовательскую полезную нагрузку в ConsumeContext?