当我在 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>(...);
});
对于配置,顺序很重要,因此如果您使用重试或其他中间件组件,它应该位于配置中的内存发件箱之前。您的消费者应该关注所有中间件组件。
关于c# - 如何在transactionscope中调用azure服务总线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44128923/