Is it real to use System.Transactions (primarily TransactionScope) across different AppDomains and processes?
DependentTransaction works only inside one AppDomain.
Is it real to use System.Transactions (primarily TransactionScope) across different AppDomains and processes?
DependentTransaction works only inside one AppDomain.
I found problems with this style of solution. In my case I was doing work in the parent and multiple children. To get it to work I had to use TransactionScope only in the parent. My own question/answer are at Using transactions across processes .
Yes, it works. We are flowing transactions via WCF, calling out of process transactional COM+ components, and manually passing transactions from a .NET 2.0 asmx web service to a WCF service.
Now that is not to say that the setup is not finicky. I think most of the issues were around getting MSDTC set up properly on all the servers.
UPDATE
We don't use
DependentClone
. We are passing the transaction as a byte array usingGetTransactionFromTransmitterPropagationToken
. Very similar to the second example of Propagating a Transaction Across AppDomains.As an example:
Client:
Service: