TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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.