MassTransit is getting a new transactional, or "real" outbox, built with Entity Framework Core. The new outbox (or is it an inbox/outbox) is a fully transactional outbox that can be used from both non-message-based sources (such as API controllers, or console applications) as well as message consumers and saga state machines. An inbox is also used, to ensure exactly-once (or idempotent, also known as deduplication) message delivery to consumers and saga state machines, providing an easy and consistent approach to ensuring idempotent message delivery.
Sample GitHub Repository
https://github.com/MassTransit/Sample-Outbox
Transactional Outbox Documentation (preliminary):
https://masstransit-project.com/advanced/transactional-outbox.html
MassTransit
Documentation: https://masstransit-project.com
Discord: https://discord.gg/rNpQgYn
Twitter: https://twitter.com/mtproj
Connect with me on Twitter:
https://twitter.com/phatboyg
Sponsor me on GitHub:
https://github.com/sponsors/phatboyg