Partilhar via


TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Método

Definição

Lista novamente um participante durável em uma transação.

public:
 static System::Transactions::Enlistment ^ Reenlist(Guid resourceManagerIdentifier, cli::array <System::Byte> ^ recoveryInformation, System::Transactions::IEnlistmentNotification ^ enlistmentNotification);
public static System.Transactions.Enlistment Reenlist(Guid resourceManagerIdentifier, byte[] recoveryInformation, System.Transactions.IEnlistmentNotification enlistmentNotification);
static member Reenlist : Guid * byte[] * System.Transactions.IEnlistmentNotification -> System.Transactions.Enlistment
Public Shared Function Reenlist (resourceManagerIdentifier As Guid, recoveryInformation As Byte(), enlistmentNotification As IEnlistmentNotification) As Enlistment

Parâmetros

resourceManagerIdentifier
Guid

Um Guid que identifica exclusivamente o gerenciador de recursos.

recoveryInformation
Byte[]

Contém informações adicionais de informações de recuperação.

enlistmentNotification
IEnlistmentNotification

Um objeto de recurso que implementa IEnlistmentNotification para receber notificações.

Retornos

Um Enlistment que descreve a inscrição.

Exceções

recoveryInformation é inválido.

- ou -

As informações do recoveryInformation Gerenciador de Transações não correspondem ao gerenciador de transações configurado.

- ou -

recoveryInformation não é reconhecido por System.Transactions.

RecoveryComplete(Guid) já foi chamado para o especificado resourceManagerIdentifier. A lista de confirmação é rejeitada.

O resourceManagerIdentifier não corresponde ao conteúdo das informações de recuperação especificadas em recoveryInformation.

Comentários

Importante

Chamar esse método com dados não confiáveis é um risco à segurança. Chame esse método apenas com dados confiáveis. Para obter mais informações, consulte Validar Todas as Entradas.

Um Gerenciador de recursos facilita a resolução de inscrições duráveis em uma transação, reenlisting o participante de transação após falha de recurso.

O resourceManagerIdentifier parâmetro é usado para rotular consistentemente o participante de uma transação no caso de uma falha de recurso. Ao chamar o Reenlist método, o gerenciador de recursos deve fornecer o mesmo resourceManagerIdentifier que usado quando ele originalmente chamou o método durante a EnlistDurable inscrição ou é TransactionException gerado.

Quando um participante é reenlistado usando esse método, os métodos de fase 2 que IEnlistmentNotification correspondem ao resultado da transação (ou seja, Commit, Rollbackou InDoubt ) são chamados conforme apropriado.

Depois que os participantes forem reenlistados com êxito, você deverá chamar RecoveryComplete para concluir a recuperação.

Você só deve chamar esse método quando um gerenciador de recursos for reiniciado por falha. Além disso, você só deve reinscrevê registradas por um Gerenciador de recursos durante a fase de preparação inicial de protocolo 2PC de transações não resolvidas. Qualquer tentativa de chamar esse método em momentos inválidos pode produzir resultados incorretos.

Se o gerenciador de transações falhar e o gerenciador de recursos executar a recuperação apenas um pouco depois de você chamar o Prepared método em uma inscrição na fase 1 do protocolo de confirmação de Two-Phase, o gerenciador de recursos poderá receber o retorno de chamada ou Rollback o InDoubt retorno de chamada.

Aplica-se a