Есть ли способ переопределить или установить значение null для сборки MassTransit в полях во время публикации сообщения? Для моего конкретного случая мне нужно установить ConversationId в значение null во время публикации сообщения в моем тесте интеграции. Для того, чтобы опубликовать сообщение Я используюMassTransit override ConversationId во время публикации
await Bus.Publish<ITestContractMessage>(new {TestName = "Hello World"});
Я пытался настроить шину, используя ConfigurePublish метод, но это не помогло.
cfg.ConfigurePublish(x => x.UseSendExecute(ctx => ctx.ConversationId = null));
Есть ли какие-либо идеи о том, как я могу его укусить?
Спасибо за быстрый ответ! Но, к сожалению, этот подход не работает для ConversationId, потому что, похоже, он заполняется после вызова делегата. Некоторые из остальных заголовков, например SourceAddress, могут быть изменены таким образом. – Paulik
Я проверю порядок фильтрации и исправлю то, что считаю сломанным. Он должен установить его до того, как разработчик получит доступ, чтобы его можно было переопределить. –
Да, это заставляет 'ConversationId', если его нет, поэтому нет способа отправить его с нулевым значением. Однако он будет генерировать новый, если вы установите его равным null. –