2016-10-07 3 views
0

Я пытаюсь добавить пользовательские полезную нагрузку 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); 
} 

Полезная нагрузка всегда null. Могу ли я добавить свою полезную нагрузку cusom в контекст и как это сделать правильно? Благодарю.

ответ

0

Полезные грузы, добавленные в ConsumeContext, действительны только для текущего сообщения и не являются постоянными. Они используются компонентами промежуточного программного обеспечения для сохранения данных и/или предоставления данных для компонентов или сервисов промежуточного программного обеспечения (таких как потребители, саги и т. Д.), Которые потребляют сообщения.

Если вам нужно сохранить данные между сообщениями, попробуйте использовать сагу, скоррелированную общим идентификатором, чтобы сообщения доставлялись в один экземпляр саги.

+0

Спасибо за ответ. – user1681317

Смежные вопросы