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éinscrit 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 manager, cli::array <System::Byte> ^ recoveryInfo, System::Transactions::IEnlistmentNotification ^ notification);
public static System.Transactions.Enlistment Reenlist (Guid resourceManagerIdentifier, byte[] recoveryInformation, System.Transactions.IEnlistmentNotification enlistmentNotification);
public static System.Transactions.Enlistment Reenlist (Guid manager, byte[] recoveryInfo, System.Transactions.IEnlistmentNotification notification);
static member Reenlist : Guid * byte[] * System.Transactions.IEnlistmentNotification -> System.Transactions.Enlistment
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
Public Shared Function Reenlist (manager As Guid, recoveryInfo As Byte(), notification As IEnlistmentNotification) As Enlistment
Paramètres
- resourceManagerIdentifiermanager
- Guid
Guid qui identifie de manière unique le gestionnaire de ressources.
- recoveryInformationrecoveryInfo
- Byte[]
Contient des informations supplémentaires sur les informations de récupération.
- enlistmentNotificationnotification
- IEnlistmentNotification
Objet de ressource qui implémente IEnlistmentNotification pour recevoir des notifications.
Retours
Enlistment qui décrit l'inscription.
Exceptions
recoveryInformation
n'est pas valide.
ou - Les informations du gestionnaire de transactions dans
recoveryInformation
ne 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 resourceManagerIdentifier
spécifié. La réinscription est rejetée.
resourceManagerIdentifier
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 avec des données approuvées uniquement. Pour plus d’informations, consultez Valider toutes les entrées.
Un gestionnaire de ressources facilite la résolution d’inscriptions durables à une transaction en réinscrivant le participant à la transaction après défaillance de la 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 son appel d’origine lors de l’inscription EnlistDurable ou d’une TransactionException levée.
Lorsqu’un participant est réinscrit à l’aide de cette méthode, les méthodes de phase 2 de IEnlistmentNotification qui correspondent au résultat de la transaction (soit Commit, Rollback ou InDoubt) sont appelées si nécessaire.
Une fois que les participants sont réinscrirés 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’un échec. En outre, vous ne devez réinscrire que des transactions non résolues enregistrées par un gestionnaire de ressources au cours de la phase de préparation initiale d'une validation en deux phases. Toute tentative pour appeler cette méthode à une période incorrecte peut entraîner des résultats erronés.
Si le gestionnaire de transactions échoue et que votre gestionnaire de ressources effectue la récupération seulement une courte fois que vous avez appelé la Prepared méthode sur une inscription dans la phase 1 du protocole de validation Two-Phase, votre gestionnaire de ressources peut recevoir le ou Rollback le InDoubt rappel.
Pour plus d’informations sur la récupération, consultez Exécution de la récupération.
Note Cette méthode utilise LinkDemand pour empêcher son appel de code non approuvé ; toutefois, seul l’appelant immédiat doit posséder le FullTrust
jeu d’autorisations.