次のような暗黙のトランザクションを作成しました。
Using ts As New TransactionScope(TransactionScopeOption.Required, New TimeSpan(1, 0, 0, 0))
MethodA()
ts.Complete()
End Using
MethodA()
次に、アンビエント トランザクション内に正常に参加するいくつかのメソッドを呼び出し、それを見ることができます。
ただし、1 つのメソッド (上記の作成からコール スタックの深さ 4 ですTransactionScope
) は、アンビエント トランザクションにアクセスできなくなったようです。
これは、トランザクション内のスタックの下位のどこでも利用できると私は信じていました。おそらくそれが、このメソッド内のコードがこのトランザクション内のデータにアクセスできない理由です。
アンビエント トランザクションが利用できない理由はありますか?