【发布时间】:2014-04-03 21:15:13
【问题描述】:
我有一个特定的标题,我想将它附加到我发布的所有消息中。我可以通过在 Publish 调用中指定它来逐个附加此标头:
_bus.Publish(myMessage, context => context.SetHeader("my key", "my value"));
这很好用,但每次发布都维护这个SetHeader 调用变得很麻烦。在总线配置期间或其他任何地方,有没有办法指定将附加到所有消息的标头?也就是说,有没有办法执行以下操作?
ServiceBusFactory.New(sbc =>
{
sbc.UseRabbitMq();
sbc.ReceiveFrom(hdoQueue);
// This is what I'd like to be able to do:
sbc.BeforePublish(context => context.SetHeader("my key", "my value"));
});
我相信有一个解决方案涉及实现IOutboundMessageInterceptor,但我找不到附加拦截器的方法。有ServiceBusConfigurator.AddInboundInterceptor 方法,但没有ServiceBusConfigurator.AddOutboundInterceptor 方法。
【问题讨论】:
标签: masstransit