Compartilhar via


Transaction.EnlistPromotableSinglePhase Método

Definição

Insere um gerenciador de recursos que tem uma transação interna usando um PSPE (alistamento de fase única) promovível.

Sobrecargas

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Insere um gerenciador de recursos que tem uma transação interna usando um PSPE (alistamento de fase única) promovível.

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Insere um gerenciador de recursos que tem uma transação interna usando um PSPE (alistamento de fase única) promovível.

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Origem:
Transaction.cs
Origem:
Transaction.cs
Origem:
Transaction.cs

Insere um gerenciador de recursos que tem uma transação interna usando um PSPE (alistamento de fase única) promovível.

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

Parâmetros

promotableSinglePhaseNotification
IPromotableSinglePhaseNotification

Uma interface IPromotableSinglePhaseNotification implementada pelo participante.

Retornos

Uma implementação de interface SinglePhaseEnlistment que descreve a inscrição.

Comentários

Os alistamentos em uma transação são voláteis; ou seja, eles não sobrevivem ao fracasso do participante. Além disso, esse método sugere apenas que o gerenciador de transações escalone o controle, mas o escalonamento em si não é garantido. Se o escalonamento falhar, o usuário será notificado e a transação será revertida.

O parâmetro promotableSinglePhaseNotification é usado para comunicar ao gerenciador de transações o resultado da tentativa de confirmar a transação interna do gerenciador de recursos. Se dados inconsistentes forem relatados, o gerenciador de transações gerará uma exceção. 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.

Para obter mais informações sobre inscrição e escalonamento de uma transação, consulte de Escalonamento de Gerenciamento de Transações. Para obter mais informações sobre pspe, consulte otimização usando confirmação de fase única e notificação de fase única promovível.

Aplica-se a

EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Origem:
Transaction.cs
Origem:
Transaction.cs
Origem:
Transaction.cs

Insere um gerenciador de recursos que tem uma transação interna usando um PSPE (alistamento de fase única) promovível.

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.

promoterType
Guid

O tipo do processador de transação distribuída.

Retornos

Uma implementação de interface SinglePhaseEnlistment que descreve a inscrição.

Comentários

Se o valor especificado para o parâmetro promoterType for TransactionInterop.PromoterTypeDtc, o de transação deverá ser promovido pelo MSDTC e o byte[] retornado do método IPromotableSinglePhaseNotification.Promotedeverá ser um token de propagação de transação MSDTC.

Se o valor especificado para o parâmetro promoterType for nãoTransactionInterop.PromoterTypeDTC, a transação não será promovida pelo MSDTC, mas sim pela implementação do chamador de IPromotableSinglePhaseNotification. Se essa chamada for bem-sucedida, haverá um conjunto de operações subsequentes na transação que retornarão um TransactionPromotionException. Essas operações são:

  • Transaction.EnlistDurable

  • TransactionInterop.GetDtcTransaction

  • TransactionInterop.GetExportCookie

  • TransactionInterop.GetTransmitterPropagationToken

  • Serialização de um objeto Transaction

Aplica-se a