Я представляю RabbitMQ в приложении .NET, хотел бы иметь возможность публиковать сообщения только в случае успешной транзакции базы данных, и наоборот, если публикация сообщения вызывает исключение, данные в базе данных не должны сохраняться.Как я понимаю, в Java Spring есть нечто похожее и называется «RabbitTransactionManager». Интересно, есть ли альтернативы .NET?
Первоначально планировалось использовать методы TxSelect / TxCommit / TxRollback клиента RabbitMQ .NET.В моем понимании наиболее распространенное решение - заключить сообщение опубликовать в область транзакции SQL в коде, но в этом случае сообщение может быть опубликовано, но данные не сохранены.
Я нашел статью, в которой описаны некоторые методы решения проблемы: https://blogmilind.wordpress.com/2017/11/20/send-message-in-transaction/
Но, может быть, есть более элегантный или нестандартный подход?