在MassTransit 5.2.0中,我使用ConfigurePublish内的UseSendExecute方法将标头添加到特定消息类型:
var bus = BusConfigurator.ConfigureBus((h,cfg) =>
{
h.ConfigurePublish(x =>
x.UseSendExecute<TestMessage>(p =>
{
p.Headers.Set("x-deduplication-header", p.Message.Day.Ticks);
}));
});
升级到MassTransit 5.2.1后,ConfigurePublish中不再提供UseSendExecute方法。
深入研究MassTransit的内部更改,我发现出现问题是因为MassTransit.IPublishPipeConfigurator不再实现MassTransit.ISendPipeConfigurator,而UseSendExecute是MassTransit.DelegatePipeConfiguratorExtensions中ISendPipeConfigurator的扩展方法。
如何使用5.2.1版本设置相同的发布配置?
答案 0 :(得分:0)
好吧,您正在配置发布行为。新语法为:
var bus = BusConfigurator.ConfigureBus((h,cfg) =>
{
h.ConfigurePublish(pc => pc.AddPipeSpecification(
new DelegatePipeSpecification<PublishContext<TestMessage>>(p =>
{
p.Headers.Set("x-deduplication-header", p.Message.Day.Ticks);
})));
});