带上下文的masstransit发布



发布消息时如何将自定义值传递给MessageId?

我的主题端点配置

cfg.Message<OrderSubmitted>(configTopology =>
{
configTopology.SetEntityName("my-topic");
});

在服务的某个地方,我发布了这样的消息

await azureServiceBus.Publish<OrderSubmitted>(contract);

如何在发布时提供自定义MessageId?(我需要这个,因为我想使用ASB重复消息检测(

我查看了MassTransit的源代码,似乎有一种重载方法,我可以将IPipe<PublishContext<T>> publishPipe作为第二个参数传递,但我不明白,但问题是如何正确创建这个对象?

您可以通过使用SendPublish指定回调来设置任何信封属性和消息头。

await bus.Publish<OrderSubmitted>(message, x =>
{
x.MessageId = someGuid;
});

最新更新