使用.NET客户端的RabbitMQ发布和MSSQL事务之间的事务范围

时间:2018-12-04 09:56:13

标签: rabbitmq

我在.NET应用程序中引入RabbitMQ,希望仅在数据库事务成功时才能发布消息,反之亦然,如果消息发布引发异常,则不应保存数据库中的数据。 据我了解,Java Spring中有一个类似的东西,叫做“ RabbitTransactionManager”,我想知道是否有.NET替代品?

最初的计划是使用RabbitMQ .NET客户端的TxSelect / TxCommit / TxRollback方法。 以我的理解,最常见的解决方案是将消息发布包装到代码中的SQL事务范围中,但是在这种情况下,消息可能会发布,但数据未保存。

我找到了一篇文章,其中描述了一些解决问题的技术: https://blogmilind.wordpress.com/2017/11/20/send-message-in-transaction/

但是也许有更优雅的方法,还是开箱即用的方法?

0 个答案:

没有答案