いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

TransactionScopeのタイムアウト設定 (TransactionScope, TransactionScopeOption, TimeSpan)

System.Transactions.TransactionScopeクラスを利用する際に、トランザクションタイムアウトを指定するには
以下の方法があります。

  1. machine.configに指定。
  2. コンストラクタにて、指定。


今回は、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)){
    //
    // トランザクション処理
    //
}