TransactionScope as shipped in .Net 2.0 allows developers to scope one or more accesses to a resource in one lightweight transaction. When multiple resources are within one scope the ADO invokes the Microsoft Distributed Transaction Controller (MSDTC).

The problem is that the way the ADO works out if you are accessing different resources is via the Connection object used; not the connection string. This means that two separate methods in the same scope using the same DB connection can still cause the heavyweight MSDTC to be invoked.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License