TransactionScope

C# 2.0 から導入された TransactionScope を使うためのメモ


普通の使い方はこんな感じ

// A
using (TransactionScope scope = new TransactionScope()) {
    // B
    scope.Complete();
}

接続をオープンする場合 A で行うとトランザクションの影響は受けないので注意が必要。
B のように TransactionScope が生成されてからでないと意味がない。



TransactionScope は分散DBにも対応していて便利なんだけど、その場合は Distributed Transaction Coordinator というサービスが起動していないと例外がスローされる。