Transaction.EnlistPromotableSinglePhase Méthode

Définition

Inscrit un gestionnaire de ressources qui a une transaction interne à l'aide d'une inscription à phase unique pouvant être promue (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

Surcharges

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscrit un gestionnaire de ressources qui a une transaction interne à l'aide d'une inscription à phase unique pouvant être promue (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscrit un gestionnaire de ressources qui a une transaction interne à l'aide d'une inscription à phase unique pouvant être promue (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscrit un gestionnaire de ressources qui a une transaction interne à l'aide d'une inscription à phase unique pouvant être promue (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

Paramètres

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification

Interface IPromotableSinglePhaseNotification implémentée par le participant.A IPromotableSinglePhaseNotification interface implemented by the participant.

promoterType
Guid

Type du processeur de transaction distribuée.The type of the distributed transaction processor.

Retours

Implémentation de l'interface SinglePhaseEnlistment qui décrit l'inscription.A SinglePhaseEnlistment interface implementation that describes the enlistment.

Remarques

Si la valeur spécifiée pour le promoterType paramètre est TransactionInterop.PromoterTypeDtc, la transaction doit être promue par MSDTC et byte[] le retourné à IPromotableSinglePhaseNotification.Promote partir de la méthode doit être un jeton de propagation de transaction 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.

Si la valeur spécifiée pour le promoterType paramètre n’est pasTransactionInterop.PromoterTypeDTC, la transaction n’est pas promue par MSDTC, mais plutôt par l’implémentation de IPromotableSinglePhaseNotificationde l’appelant.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. Si cet appel réussit, un ensemble d’opérations ultérieures sur la transaction retourne un TransactionPromotionException.If this call is successful, there is a set of subsequent operations on the transaction that will return a TransactionPromotionException. Ces opérations sont les suivantes :These operations are:

  • Transaction.EnlistDurable

  • TransactionInterop.GetDtcTransaction

  • TransactionInterop.GetExportCookie

  • TransactionInterop.GetTransmitterPropagationToken

  • Sérialisation d’un objet de transactionSerialization of a Transaction object

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscrit un gestionnaire de ressources qui a une transaction interne à l'aide d'une inscription à phase unique pouvant être promue (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

Paramètres

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification

Interface IPromotableSinglePhaseNotification implémentée par le participant.A IPromotableSinglePhaseNotification interface implemented by the participant.

Retours

Implémentation de l'interface SinglePhaseEnlistment qui décrit l'inscription.A SinglePhaseEnlistment interface implementation that describes the enlistment.

Remarques

Les inscriptions dans une transaction sont volatiles ; autrement dit, ils ne survivent pas à la défaillance du participant.Enlistments in a transaction are volatile; that is, they do not survive the failure of the participant. En outre, cette méthode suggère uniquement au gestionnaire de transactions de remonter le contrôle, mais la remontée elle-même n’est pas garantie.In addition, this method only suggests the transaction manager to escalate control, but the escalation itself is not guaranteed. En cas d’échec de l’escalade, l’utilisateur n’est pas notifié et la transaction est restaurée.If escalation fails, the user is not notified and the transaction is rolled back.

Le paramètre promotableSinglePhaseNotification est utilisé pour communiquer au gestionnaire de transactions le résultat de la tentative de validation de la transaction interne du gestionnaire de ressources.The parameter promotableSinglePhaseNotification is used to communicate to the transaction manager the outcome of attempting to commit the resource manager's internal transaction. Si des données incohérentes sont signalées, le gestionnaire de transactions lève une exception.If inconsistent data is reported, the transaction manager throws an exception. Si un InDoubt résultat est signalé, le gestionnaire de transactions recherche la notification de résultat dans sa propre inscription interne et ignore la réponse signalée.If an InDoubt outcome is reported, the transaction manager looks for the outcome notification in its own internal enlistment and ignores the reported response.

Pour plus d’informations sur les inscriptions et la remontée d’une transaction, consultez remontéede la gestion des transactions.For more information on enlistments and escalation of a transaction, please see Transaction Management Escalation. Pour plus d’informations sur PSPE, consultez optimisation à l’aide de la validation à phase unique et de la notification à phase unique pouvant être promue.For more information on PSPE, see Optimization Using Single Phase Commit and Promotable Single Phase Notification.

Remarque Cette méthode utilise LinkDemand pour l’empêcher d’être appelée à partir de code non fiable ; Toutefois, seul l’appelant immédiat est tenu de posséder FullTrust le jeu d’autorisations.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.

S’applique à