I’ve been getting my slides and code samples together over the past few weeks for the upcoming conferences. The next one I’ll be at is at the end of this month in Boston at VSLive talking about transactions. The session is titled Lightweight Promotable Transactions using System Transactions and ADO.NET 2 and is at 2pm on June 30th. Below is the synopsis of the session and the agenda from my slide deck … please drop by and say hi if you are attending.


Lightweight Promotable Transactions using System Transactions and ADO.NET 2

The.NET Framework v2 includes the System.Transactions namespace that enhances transactional support for managed code. We'll discuss how System.Transactions can handle transactions without using other common practices such as deriving from a ServicedComponent, using interception, or using reflection. Designed to integrate with SQL Server 2005, System.Transactions supports the intelligent and automatic promotion of local lightweight transactions to fully distributed transactions. It also introduces a new class called LightweightTransactionManager, which is a faster alternative to using the DTC for local transactions. We'll walk through examples that modify the default transactional settings of the implicit local transaction and modify the isolation level, timeout period, and transaction's context, and more.



  • Transactional Support
  • Why use System.Transactions
  • Resource Managers
  • Ambient Transactions
  • Lightweight Transaction Manager (LTM)
  • Lightweight Transactions
    • Promoting them
    • How and when (and when not)
    • Implicit Transactions
      • Implicit because of default connection string setting of enlist=true
      • TransactionScope object with default settings
      • Isolation Level, Timeout Period, Transaction Context
      • Explicit Transactions
        • Enlisting in a transaction
      • New Interfaces