发布消息时如何将自定义值传递给MessageId?
我的主题端点配置
cfg.Message<OrderSubmitted>(configTopology =>
{
configTopology.SetEntityName("my-topic");
});
在服务的某个地方,我发布了这样的消息
await azureServiceBus.Publish<OrderSubmitted>(contract);
如何在发布时提供自定义MessageId?(我需要这个,因为我想使用ASB重复消息检测(
我查看了MassTransit的源代码,似乎有一种重载方法,我可以将IPipe<PublishContext<T>> publishPipe
作为第二个参数传递,但我不明白,但问题是如何正确创建这个对象?
您可以通过使用Send
或Publish
指定回调来设置任何信封属性和消息头。
await bus.Publish<OrderSubmitted>(message, x =>
{
x.MessageId = someGuid;
});