次の方法で共有


TransactionInterop クラス

定義

MSDTC、COM+、またはSystem.Transactionsと対話するために以前に作成されたコンポーネントとSystem.EnterpriseServices間の対話を容易にします。 このクラスは継承できません。

public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
継承
TransactionInterop

注釈

このクラスは、トランザクション伝達のメソッドを提供します。

このクラスで提供されるメソッドを使用すると、エクスポート/インポート (プッシュ モデル) とトランスミッタ/レシーバー (プル モデル) の 2 種類のトランザクション伝達に関与できます。

エクスポート/インポート (プッシュ モデル) の伝達には、次の手順が含まれます。

  1. リモート コンピューターで、 GetWhereabouts メソッドを呼び出して、そのマシンのトランザクション マネージャーの "行き先" を取得します。 その後、今後の使用のために、この情報をクライアント コンピューターにキャッシュできます。

  2. 任意の優先方法を使用して、場所を含むデータをクライアント コンピューターに送信します。

  3. クライアント コンピューターで、場所を使用してトランザクションをリモート コンピューターに "エクスポート" し、トランザクション "cookie" を生成します。 これを行うには、 GetExportCookie を呼び出し、リモート コンピューターの場所を渡します。

  4. 任意の方法を使用して、トランザクション "cookie" を含むデータをリモート コンピューターに送信します。

  5. リモート コンピューターで、トランザクション "cookie" を使用して、 GetTransactionFromExportCookie メソッドを呼び出してクライアント トランザクションの複製を取得します。

  6. リモート コンピューターで、複製トランザクションを使用して、Transaction クラスのEnlistVolatileまたはEnlistDurableメソッドを使用してリソース マネージャーを参加させます。

トランスミッタ/レシーバ(プルモデル)の伝達には、次の手順が含まれます。

  • クライアント コンピューターで、トランザクションを使用すると、 GetTransmitterPropagationTokenを呼び出すことによって、対応する "伝達トークン" が生成されます。

  • 任意の優先方法を使用して、トランザクションの "伝達トークン" を含むデータをリモート コンピューターに送信します。

  • リモート コンピューターで、"伝達トークン" を使用して、 GetTransactionFromTransmitterPropagationTokenを呼び出してクライアント トランザクションの複製を取得します。

トランスミッタ/レシーバー モデルは、トランザクション トークンがリモート コンピューターに送信されるが、リモート コンピューターがトランザクションを取得するためにそれを使用しない可能性があるシナリオで、パフォーマンスを向上させます。 これは、 GetTransactionFromTransmitterPropagationToken が呼び出されるまでトランザクションが伝達されないためです。 もう 1 つの利点は、伝達トークンを任意のリモート コンピューターに送信できるのに対し、エクスポート Cookie は、場所を提供したマシンでのみ使用できることです。

リモート トランザクション マネージャーの行方は、すべての伝達トークンにカプセル化され、エクスポート/インポート モデルの対応するトランザクション Cookie よりも大きくなります。

フィールド

名前 説明
PromoterTypeDtc

分散トランザクション プロセッサの種類。

メソッド

名前 説明
GetDtcTransaction(Transaction)

Transactionを表すIDtcTransaction インスタンスを取得します。

GetExportCookie(Transaction, Byte[])

トランザクション オブジェクトをエクスポート トランザクション Cookie に変換します。

GetTransactionFromDtcTransaction(IDtcTransaction)

指定したIDtcTransactionからTransactionを生成します。

GetTransactionFromExportCookie(Byte[])

指定したエクスポート Cookie から Transaction を生成します。

GetTransactionFromTransmitterPropagationToken(Byte[])

指定した送信機伝達トークンから Transaction インスタンスを生成します。

GetTransmitterPropagationToken(Transaction)

指定した Transactionの伝達トークンを生成します。

GetWhereabouts()

System.Transactions使用する分散トランザクション マネージャーの場所を取得します。

適用対象