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 メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetDtcTransaction | Transaction を表す IDtcTransaction インスタンスを取得します。 |
![]() | GetExportCookie | トランザクション オブジェクトをエクスポート トランザクション Cookie に変換します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetTransactionFromDtcTransaction | 指定した IDtcTransaction から Transaction を生成します。 |
![]() | GetTransactionFromExportCookie | 指定したエクスポート Cookie から Transaction を生成します。 |
![]() | GetTransactionFromTransmitterPropagationToken | 指定したトランスミッタ反映トークンから Transaction インスタンスを生成します。 |
![]() | GetTransmitterPropagationToken | 指定した Transaction の反映トークンを生成します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | GetWhereabouts | System.Transactions が使用する分散トランザクション マネージャの位置情報を取得します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

TransactionInterop メンバ
MSDTC、COM+、または System.EnterpriseServices とやり取りするために以前記述されたコンポーネントと System.Transactions との対話を容易にします。このクラスは継承できません。
TransactionInterop データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetDtcTransaction | Transaction を表す IDtcTransaction インスタンスを取得します。 |
![]() | GetExportCookie | トランザクション オブジェクトをエクスポート トランザクション Cookie に変換します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetTransactionFromDtcTransaction | 指定した IDtcTransaction から Transaction を生成します。 |
![]() | GetTransactionFromExportCookie | 指定したエクスポート Cookie から Transaction を生成します。 |
![]() | GetTransactionFromTransmitterPropagationToken | 指定したトランスミッタ反映トークンから Transaction インスタンスを生成します。 |
![]() | GetTransmitterPropagationToken | 指定した Transaction の反映トークンを生成します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | GetWhereabouts | System.Transactions が使用する分散トランザクション マネージャの位置情報を取得します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- TransactionInteropのページへのリンク