Rockford Lhotka
    CTO at Magenic
    Author, speaker, software architect
    Creator of the CSLA .NET framework

About me
Contact me


Using TransactionScope with SQL Server 2000


CSLA .NET 2.0 supports the use of the new System.Transactions transactional support through a TransactionScope object. And in my Business Objects books I encourage the use of this new technology.

However, you should be aware of how it interacts with SQL Server 2000 (as opposed to SQL Server 2005, where all is good).

Specifically, by default System.Transactions uses MSDTC when working against SQL Server 2000 - just like Enterprise Services/COM+. This has two implications:

  1. You need to have the DTC running on the machine where you run the server-side data portal components.
  2. You will take a non-trivial performance hit, just like you would by using the EnterpriseServices transaction option on your DataPortal_XYZ methods.

Florin Lazar blogs about a way you can avoid these issues and still use TransactionScope with SQL Server 2000.


(Updated 1/30/2006)