TransactionInterop クラス
アセンブリ: System.Transactions (system.transactions.dll 内)


このクラスは、トランザクションを反映させるためのメソッドを提供します。このプロセスのしくみの詳細については、「Transaction Propagation」を参照してください。
このクラスが提供するメソッドを使用すると、エクスポート/インポート (プッシュ モデル) およびトランスミッタ/レシーバ (プル モデル) という 2 種類のトランザクションの反映を使用できます。
エクスポート/インポート (プッシュ モデル) による反映では、次の手順を実行します。
-
リモート コンピュータで、GetWhereabouts メソッドを呼び出して、そのコンピュータのトランザクション マネージャの "位置情報" を取得します。これにより、この情報をクライアント コンピュータでキャッシュして将来使用できるようになります。
-
クライアント コンピュータで、位置情報を使用して、リモート コンピュータにトランザクションを "エクスポート" し、トランザクション "Cookie" を生成します。これを実行するには、GetExportCookie を呼び出し、リモート コンピュータの位置情報を渡します。
-
リモート コンピュータで、GetTransactionFromExportCookie メソッドを呼び出すことにより、トランザクション "Cookie" を使用してクライアント トランザクションの複製を取得します。
-
リモート コンピュータで、Transaction クラスの EnlistVolatile メソッドまたは EnlistDurable メソッドを使用して、複製トランザクションを基にリソース マネージャを参加させます。
トランスミッタ/レシーバ (プル モデル) による反映では、次の手順を実行します。
-
クライアント コンピュータで、GetTransmitterPropagationToken を呼び出すことによってトランザクションを使用すると、対応する "反映トークン" が生成されます。
-
適切なメソッドを使用して、トランザクションの "反映トークン" が格納されたデータをリモート コンピュータに送信します。
-
リモート コンピュータで、GetTransactionFromTransmitterPropagationToken を呼び出すことにより、"反映トークン" を使用してクライアント トランザクションの複製を取得します。
トランザクション トークンがリモート コンピュータに送信されるが、リモート コンピュータではトランザクションの取得にそのトークンを使用しない場合があるようなシナリオでは、トランスミッタ/レシーバ モデルの方がパフォーマンスに優れています。これは、GetTransactionFromTransmitterPropagationToken が呼び出されるまではトランザクションが反映されないためです。もう 1 つの利点は、反映トークンは任意のリモート コンピュータに送信できることです。エクスポート Cookie は、位置情報を提供したコンピュータでしか使用できません。
ただし、リモートのトランザクション マネージャの位置情報がすべての反映トークン内にカプセル化されるため、エクスポート/インポート モデルの対応するトランザクション Cookie よりもトークンのサイズが大きくなってしまう点にも注意が必要です。
メモ このメソッドでは、LinkDemand を使用して信頼関係のないコードからの呼び出しを防ぎます。FullTrust アクセス許可セットは、直前の呼び出し元にのみ要求されます。

System.Transactions.TransactionInterop


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- TransactionInterop クラスのページへのリンク