IEnlistmentNotification.InDoubt メソッド
アセンブリ: System.Transactions (system.transactions.dll 内)

Sub InDoubt ( _ enlistment As Enlistment _ )

このメソッドは、トランザクション マネージャが単一の永続的なリソースに対して単一フェーズ コミット操作を呼び出し、トランザクションの結果を取得する前に永続的なリソースへの接続が失われた場合に、揮発性のリソースに対して呼び出されます。この時点では、トランザクションの結果は安全には確認できません。
InDoubt はトランザクションの最終的な状態であると見なされるため、InDoubt を呼び出した後で Commit や Rollback を呼び出すことはできません。
![]() |
---|
揮発性のリソースにこのメソッドを実装する場合は、影響を受けるデータについて確認されているすべての復元操作またはコンテインメント操作を実行する必要があります。また作業が完了したら、enlistment パラメータで Done メソッドを呼び出す必要もあります。 |
リソース マネージャが永続的に参加しても、Done メソッドを呼び出して応答しないと、トランザクション マネージャにはリソース マネージャが InDoubt 呼び出しを受け取ったかどうかが認識できません。このため、トランザクション マネージャは応答を待ち続け、このトランザクションに関する情報を保持します。Done が呼び出されない場合、この情報はメモリまたはシステム全体のリソース内にいつまでも保持されます。この結果、リソースを再要求できなくなります。分散トランザクションの場合、これによって MSDTC ログがいっぱいになってしまい、MSDTC プロセスが中断されることがあります。System.Transactions によって管理されるトランザクションの場合、リソース マネージャのプロセスによるメモリ使用量が徐々に増加し続けます。このような理由から、リソース マネージャで準備作業が終了したら Done メソッドを呼び出すことが重要です。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からIEnlistmentNotification.InDoubt メソッドを検索する場合は、下記のリンクをクリックしてください。

- IEnlistmentNotification.InDoubt メソッドのページへのリンク