I want to execute database operation in a handler and then send three commands to other handlers. I want to make sure that all the execution of database operation together with sending commands occur in a transaction and whether all succeed or all fail. I am using .net core and when I try to do this I get an exception that "This platform does not support distributed Transactions" I was using RabbitMQ Transport and then SQL server transport but still getting the same problem. I would like to know the best way to ensure that all the execution is ATOMIC under .NET Core and RabbitMQ or SQL Server transport. Thanks
In my Rebus handler I am performing a database operation and then send commands to other three handlers
213 Views Asked by Amour Rashid At
1
There are 1 best solutions below
Related Questions in TRANSACTIONSCOPE
- Entity Framework 6 Database First - How to share connection and transaction with ADO
- Database.BeginTransaction() Entity framework rollback throws exception
- OracleInternal.MTS.DTCPSPEManager Error
- .net atomic operation with an external dll
- TransactionScope doesn't rollback transactions
- TransactionScope TransactionInDoubtException in EntityFramework
- Row blocked or table blocked when using a TransactionScope c# object?
- Transaction open for many hours
- Using TransactionScope to time out regular (non db related) c# code
- Volatile IEnlistmentNotification and TransactionScope.AsyncFlowEnabled = true
- Native SQL Queries in NHibernate transaction
- Can multiple Entity Framework Data Contexts be used within a single TransactionScope?
- Is safe to use TransactionScope in Web Applications?
- Ambient transaction across multiple contexts pointing to other databases
- Nhibernate with TransactionScope Error - DTC transaction prepre phase failed -- Upgrade to Nhibernate 3.0
Related Questions in REBUS
- Mapping messages from same assembly to different endpoints in Rebus using configsection
- Rebus - Execute action before message is handled
- Rebus Newbie Questions
- Setting a custom return address header
- Rebus MSMQ Centralized Storage
- Rebus Windsor container and inlinemessage handlers
- Strategy for messages that must be delivered in order in Rebus
- Extending rebus with new transport
- Rebus - Deferred Message, exactly one message handler
- Rebus cannot subscribe to multiple endpoints with same 'messages' value
- Does Rebus support using MSMQ over HTTP/HTTPS?
- Rebus with Simple Injector breaking change
- Is there a clean way of getting a message's (transport) Id when working with Rebus?
- Can Rebus be configured to set error queue type to quorum in RabbitMQ?
- Does Rebus support web app publishing message and subscribing to message
Related Questions in REBUS-RABBITMQ
- Can Rebus be configured to set error queue type to quorum in RabbitMQ?
- Read message from error queue in RabbitMQ
- Rebus saga consistency
- Notifying all consumers of a message
- Rebus retry policy when RabbitMQ is temporarily down
- How to subscribe to Events without coupling the Event Type from another project using Rebus?
- using rabbit mq with rebus keeps publishing the events
- How to handle blocked RabbitmMQ connections using Rebus
- How to immediately stop processing new messages when inside a message handler?
- Can't receive rebus rabbitMQ messages when the object which is published is not shared
- In my Rebus handler I am performing a database operation and then send commands to other three handlers
- Rebus CircuitBreaker vs Second Level Retry
- Rebus Timeout Manager
- Rebus & RabbitMq always seems to use "RabbitTopics" exchange
- Accepting command and raising events from a service
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I am surprised that you get this particular exception, because Rebus does not participate in distributed transactions (at least not with any of the supported transports, and especially not with RabbitMQ).
Could you maybe update your question to include the full exception details (with stack trace and everything)? And maybe tell a little bit about how you're performing your database operations?