Transaction.EnlistPromotableSinglePhase Transaction.EnlistPromotableSinglePhase Transaction.EnlistPromotableSinglePhase Transaction.EnlistPromotableSinglePhase Method

定義

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

オーバーロード

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

public:
 bool EnlistPromotableSinglePhase(System::Transactions::IPromotableSinglePhaseNotification ^ promotableSinglePhaseNotification, Guid promoterType);
public bool EnlistPromotableSinglePhase (System.Transactions.IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Guid promoterType);
member this.EnlistPromotableSinglePhase : System.Transactions.IPromotableSinglePhaseNotification * Guid -> bool
Public Function EnlistPromotableSinglePhase (promotableSinglePhaseNotification As IPromotableSinglePhaseNotification, promoterType As Guid) As Boolean

パラメーター

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification IPromotableSinglePhaseNotification IPromotableSinglePhaseNotification IPromotableSinglePhaseNotification

参加者によって実装された IPromotableSinglePhaseNotification インターフェイス。A IPromotableSinglePhaseNotification interface implemented by the participant.

promoterType
Guid Guid Guid Guid

分散トランザクション プロセッサの種類。The type of the distributed transaction processor.

戻り値

参加リストを記述する SinglePhaseEnlistment インターフェイスの実装。A SinglePhaseEnlistment interface implementation that describes the enlistment.

注釈

promoterTypeパラメーターに指定された値がTransactionInterop.PromoterTypeDtcの場合、トランザクションはIPromotableSinglePhaseNotification.Promote msdtc によって昇格byte[]される必要があり、メソッドから返されるは msdtc トランザクション伝達トークンである必要があります。If the value specified for the promoterType parameter is TransactionInterop.PromoterTypeDtc, the transaction must be promoted by MSDTC and the byte[] returned from the IPromotableSinglePhaseNotification.Promote method must be an MSDTC transaction propagation token.

promoterTypeパラメーターに指定された値がでないTransactionInterop.PromoterTypeDTC場合、トランザクションは MSDTC によって昇格されるのではなく、のIPromotableSinglePhaseNotification呼び出し元の実装によって行われます。If the value specified for the promoterType parameter is notTransactionInterop.PromoterTypeDTC, the transaction will not be promoted by MSDTC, but rather by the caller's implementation of IPromotableSinglePhaseNotification. この呼び出しが成功した場合は、をTransactionPromotionException返すトランザクションに対する後続の操作のセットが存在します。If this call is successful, there is a set of subsequent operations on the transaction that will return a TransactionPromotionException. これらの操作は次のとおりです。These operations are:

  • Transaction.EnlistDurable

  • TransactionInterop.GetDtcTransaction

  • TransactionInterop.GetExportCookie

  • TransactionInterop.GetTransmitterPropagationToken

  • トランザクションオブジェクトのシリアル化Serialization of a Transaction object

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

昇格可能な単一フェーズの参加リスト (PSPE) を使用して、内部トランザクションを持つリソース マネージャーを参加させます。Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

public:
 bool EnlistPromotableSinglePhase(System::Transactions::IPromotableSinglePhaseNotification ^ notification);
public bool EnlistPromotableSinglePhase (System.Transactions.IPromotableSinglePhaseNotification notification);
member this.EnlistPromotableSinglePhase : System.Transactions.IPromotableSinglePhaseNotification -> bool
Public Function EnlistPromotableSinglePhase (notification As IPromotableSinglePhaseNotification) As Boolean

パラメーター

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification IPromotableSinglePhaseNotification IPromotableSinglePhaseNotification IPromotableSinglePhaseNotification

参加者によって実装された IPromotableSinglePhaseNotification インターフェイス。A IPromotableSinglePhaseNotification interface implemented by the participant.

戻り値

参加リストを記述する SinglePhaseEnlistment インターフェイスの実装。A SinglePhaseEnlistment interface implementation that describes the enlistment.

注釈

トランザクションの参加は揮発性です。つまり、参加者の失敗には参加しません。Enlistments in a transaction are volatile; that is, they do not survive the failure of the participant. また、このメソッドはトランザクションマネージャーに対してのみ制御をエスカレートすることを提案しますが、エスカレーション自体は保証されません。In addition, this method only suggests the transaction manager to escalate control, but the escalation itself is not guaranteed. エスカレーションに失敗した場合、ユーザーには通知されず、トランザクションはロールバックされます。If escalation fails, the user is not notified and the transaction is rolled back.

パラメーター promotableSinglePhaseNotificationは、リソースマネージャーの内部トランザクションをコミットしようとした結果をトランザクションマネージャーに通知するために使用されます。The parameter promotableSinglePhaseNotification is used to communicate to the transaction manager the outcome of attempting to commit the resource manager's internal transaction. 一貫性のないデータが報告されると、トランザクションマネージャーは例外をスローします。If inconsistent data is reported, the transaction manager throws an exception. InDoubt結果が報告された場合、トランザクションマネージャーは、その結果通知を独自の内部参加リストで検索し、報告された応答を無視します。If an InDoubt outcome is reported, the transaction manager looks for the outcome notification in its own internal enlistment and ignores the reported response.

トランザクションの参加とエスカレーションの詳細については、「トランザクション管理のエスカレーション」を参照してください。For more information on enlistments and escalation of a transaction, please see Transaction Management Escalation. PSPE の詳細については、「単一フェーズコミットを使用した最適化」と「昇格可能な単一フェーズ通知」を参照してください。For more information on PSPE, see Optimization Using Single Phase Commit and Promotable Single Phase Notification.

メモこのメソッドはLinkDemand 、を使用して信頼されていないコードから呼び出されないようにします。 FullTrustただし、アクセス許可セットを保持するには、直前の呼び出し元だけが必要です。Note This method uses LinkDemand to prevent it from being called from untrusted code; however, only the immediate caller is required to possess the FullTrust permission set.

適用対象