.NETでトランザクション処理をコーディングする際、TransactionScopeはとても便利ですよね。

*** MSDTCの設定 [#sc0a2e72]
- TransactionScopeを使うと、スタンドアローンサーバでもMSDTCサービスが必要か? どうしても、分散トランザクションとして処理されるのか?
- 実は、''TransactionScope内で利用されるSqlConnectionオブジェクトが単一の場合、Local Transactionとして処理される''
- つまり、単一のSqlConnectionオブジェクトを使いまわすようにcodingすれば、MSDTCサービスは不要である
-- 「接続文字列が同一」ではないことに注意。

- 問題は、「上記のような規約を遵守することで、コーディングがどの程度制限され、面倒になるか」である
- 開発時に、SqlConnectionの意識を希薄にし、オブジェクトの持ち回しを不要にし、TransactionScopeの実装箇所について、いろいろ考慮しなくてもよい、というのは結構なメリット。ローカルトランザクションであってもMSDTCを利用する、という判断もありかと。



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS