如何在事务范围内调用服务总线 Azure



当我在服务总线 azure 上调用 MassTransit.Publish 时,我有一个异常,因为调用在 TransactionScope 中。

The feature 'Transaction' is not supported with the current configuration

如何在没有事务模式的总线上发送消息,在事务范围内?我不想要总线的事务,而只想要数据库的事务。

谢谢。

您可以在事务完成后使用内存中发件箱执行发送。

cfg.ReceiveEndpoint(host, "my-queue", e =>
{
    e.UseInMemoryOutbox();
    e.Consumer<MyConsumer>(...);
});
对于配置,

顺序很重要,因此如果您使用的是重试或其他中间件组件,它应该在配置中的内存发件箱之前。您的消费者应该毕竟是中间件组件。

相关内容

最新更新