|
分類:[VB.NET/VB2005]
いつもお世話になっています。
■開発環境:WindowsXpSP2 ■開発言語:VB.NET2005 ■データベース:SQLServer2005
昔に開発したEnterpriseServicesでCOM+化させた分散トランザクションラッパークラスを TransactionScopeクラスを使った分散トランザクションクラスへ改修しようとしていマス。
COM+の時はトランザクションのタイムアウトが最大でも1時間という制約があったのですが TransactionScopeではタイムアウトの設定が可能となっているので、1時間以上を設定 しようとしています。 (年次処理などで非常に重たい処理があり、よくタイムアウトしたりするため) machine.configは<machineSettings maxTimeout="02:00:00" /> と仮に設定をしています。
そこでちょっと疑問に思ったのですが、分散トランザクションで処理的にはトランザクションが 入れ子になるように動作している中で個々に設定したタイムアウト値はどのようになるのでしょう・・? ・トランザクションA開始 (タイムアウト設定1:00:00) ・トランザクションB開始 (タイムアウト設定0:30:00) ・トランザクションC開始 (タイムアウト設定1:30:00) ・トランザクションC終了 ・トランザクションB終了 ・トランザクションA終了 ※それぞれRequiredが前提 トランザクションCは1時間30分でも30分でタイムアウトとなるのかなと思うのですが もしご存知の方がいらっしゃいましたら教えて下さい。
|