TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Réenliste un participant durable dans une transaction.
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
Paramètres
- recoveryInformation
- Byte[]
Contient des informations supplémentaires sur les informations de récupération.
- enlistmentNotification
- IEnlistmentNotification
Objet de ressource qui implémente pour recevoir des IEnlistmentNotification notifications.
Retours
Qui Enlistment décrit l’inscription.
Exceptions
recoveryInformation n’est pas valide.
- ou -
Les informations du Gestionnaire de transactions ne recoveryInformation correspondent pas au gestionnaire de transactions configuré.
- ou -
recoveryInformation n’est pas reconnu par System.Transactions.
RecoveryComplete(Guid) a déjà été appelé pour le spécifié resourceManagerIdentifier. La réinscrire est rejetée.
La resourceManagerIdentifier valeur ne correspond pas au contenu des informations de récupération spécifiées dans recoveryInformation.
Remarques
Important
L’appel de cette méthode avec des données non approuvées est un risque de sécurité. Appelez cette méthode uniquement avec des données approuvées. Pour plus d’informations, consultez Valider toutes les entrées.
Un gestionnaire de ressources facilite la résolution des inscriptions durables dans une transaction en réenrôlant un participant à la transaction après une panne de ressource.
Le resourceManagerIdentifier paramètre est utilisé pour étiqueter de manière cohérente le participant d’une transaction en cas d’échec de ressource. Lors de l’appel de la Reenlist méthode, le gestionnaire de ressources doit fournir le même resourceManagerIdentifier que celui utilisé lors de l’appel initial de la méthode lors de l’inscription EnlistDurable , ou une TransactionException exception est levée.
Lorsqu’un participant est réenlisté à l’aide de cette méthode, les méthodes de phase 2 correspondant au résultat de IEnlistmentNotification la transaction (autrement dit, , CommitRollbackou InDoubt ) sont appelées comme appropriées.
Une fois que les participants sont réinscrits avec succès, vous devez ensuite appeler RecoveryComplete pour terminer la récupération.
Vous devez appeler cette méthode uniquement lorsqu’un gestionnaire de ressources redémarre à partir d’une défaillance. En outre, vous ne devez réinscrire que les transactions non résolues enregistrées par un gestionnaire de ressources pendant la phase de préparation initiale d’une validation en deux phases. Toute tentative d’appel de cette méthode à des moments non valides peut produire des résultats erronés.
Si le gestionnaire de transactions échoue et que votre gestionnaire de ressources effectue une récupération seulement une courte fois que vous avez appelé la Prepared méthode sur une inscription à la phase 1 du protocole de validation Two-Phase, votre gestionnaire de ressources peut recevoir le ou Rollback le InDoubt rappel.