Transaction.EnlistPromotableSinglePhase Método

Definição

Inscreve um Resource Manager que tem uma transação interna usando uma PSPE (inscrição de fase única passível de promoção).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

Sobrecargas

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscreve um Resource Manager que tem uma transação interna usando uma PSPE (inscrição de fase única passível de promoção).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscreve um Resource Manager que tem uma transação interna usando uma PSPE (inscrição de fase única passível de promoção).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscreve um Resource Manager que tem uma transação interna usando uma PSPE (inscrição de fase única passível de promoção).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

Parâmetros

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification

Uma interface IPromotableSinglePhaseNotification implementada pelo participante.A IPromotableSinglePhaseNotification interface implemented by the participant.

promoterType
Guid

O tipo do processador de transação distribuída.The type of the distributed transaction processor.

Retornos

Boolean

Uma implementação de interface SinglePhaseEnlistment que descreve a inscrição.A SinglePhaseEnlistment interface implementation that describes the enlistment.

Comentários

Se o valor especificado para o parâmetro promoterType for TransactionInterop.PromoterTypeDtc, a transação deverá ser promovida pelo MSDTC e o byte[] retornado do método IPromotableSinglePhaseNotification.Promote deverá ser um token de propagação de transação 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.

Se o valor especificado para o parâmetro promoterType não forTransactionInterop.PromoterTypeDTC, a transação não será promovida pelo MSDTC, mas sim pela implementação do chamador de 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. Se essa chamada for bem-sucedida, haverá um conjunto de operações subsequentes na transação que retornará um TransactionPromotionException.If this call is successful, there is a set of subsequent operations on the transaction that will return a TransactionPromotionException. Essas operações são:These operations are:

  • Transaction.EnlistDurable

  • TransactionInterop.GetDtcTransaction

  • TransactionInterop.GetExportCookie

  • TransactionInterop.GetTransmitterPropagationToken

  • Serialização de um objeto de transaçãoSerialization of a Transaction object

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscreve um Resource Manager que tem uma transação interna usando uma PSPE (inscrição de fase única passível de promoção).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

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

Parâmetros

promotableSinglePhaseNotificationnotification
IPromotableSinglePhaseNotification

Uma interface IPromotableSinglePhaseNotification implementada pelo participante.A IPromotableSinglePhaseNotification interface implemented by the participant.

Retornos

Boolean

Uma implementação de interface SinglePhaseEnlistment que descreve a inscrição.A SinglePhaseEnlistment interface implementation that describes the enlistment.

Comentários

Inlistagens em uma transação são voláteis; ou seja, eles não sobrevivem à falha do participante.Enlistments in a transaction are volatile; that is, they do not survive the failure of the participant. Além disso, esse método sugere apenas o Gerenciador de transações para escalonar o controle, mas o escalonamento em si não é garantido.In addition, this method only suggests the transaction manager to escalate control, but the escalation itself is not guaranteed. Se o escalonamento falhar, o usuário não será notificado e a transação será revertida.If escalation fails, the user is not notified and the transaction is rolled back.

O parâmetro promotableSinglePhaseNotification é usado para se comunicar com o Gerenciador de transações o resultado da tentativa de confirmar a transação interna do Gerenciador de recursos.The parameter promotableSinglePhaseNotification is used to communicate to the transaction manager the outcome of attempting to commit the resource manager's internal transaction. Se dados inconsistentes forem relatados, o Gerenciador de transações lançará uma exceção.If inconsistent data is reported, the transaction manager throws an exception. Se um resultado de InDoubt for relatado, o Gerenciador de transações procurará a notificação de resultado em sua própria inscrição interna e ignorará a resposta relatada.If an InDoubt outcome is reported, the transaction manager looks for the outcome notification in its own internal enlistment and ignores the reported response.

Para obter mais informações sobre inlistagens e escalonamento de uma transação, consulte escalonamento de gerenciamento de transações.For more information on enlistments and escalation of a transaction, please see Transaction Management Escalation. Para obter mais informações sobre PSPE, consulte otimização usando confirmação de fase única e notificação de fase única de promoçãotable.For more information on PSPE, see Optimization Using Single Phase Commit and Promotable Single Phase Notification.

Observação Esse método usa LinkDemand para impedir que ele seja chamado de código não confiável; no entanto, somente o chamador imediato precisa ter o conjunto de permissões 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.

Aplica-se a