System.Transactions.TransactionScopeクラスを利用する際に、トランザクションのタイムアウトを指定するには
以下の方法があります。
- machine.configに指定。
- コンストラクタにて、指定。
今回は、2の方法でやってみます。
指定する値は、TimeSpanオブジェクトとなります。
以下サンプルです。サンプルでは30分のトランザクションタイムアウトを指定しています。
using(TransactionScope tx = new TransactionScope(TransactionScopeOption.Required, TimeSpan.FromMinutes(30.0))){ // // トランザクション処理。 // }
ちなみに、以下のように、TimeSpan.Zeroを指定すると無制限となります。
using(TransactionScope tx = new TransactionScope(TransactionScopeOption.Required, TimeSpan.Zero)){ // // トランザクション処理 // }