TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Reinserisce nell'elenco un partecipante alla transazione duraturo.
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
Parametri
- resourceManagerIdentifiermanager
- Guid
Struttura Guid che identifica in modo univoco il gestore delle risorse.
- recoveryInformationrecoveryInfo
- Byte[]
Contiene informazioni aggiuntive alle informazioni per il recupero.
- enlistmentNotificationnotification
- IEnlistmentNotification
Oggetto risorsa che implementa IEnlistmentNotification per ricevere le notifiche.
Restituisce
Classe Enlistment che descrive l'elenco.
Eccezioni
recoveryInformation
non è valido.
-oppure-
Le informazioni sul gestore delle transazioni presenti in recoveryInformation
non corrispondono al gestore delle transazioni configurato.
-oppure-
RecoveryInformation
non è riconosciuto da System.Transactions.
RecoveryComplete(Guid) è gia stato chiamato per l'oggetto resourceManagerIdentifier
specificato. L'operazione di reinserimento nell'elenco viene rifiutata.
resourceManagerIdentifier
non corrisponde al contenuto delle informazioni per il recupero specificate in recoveryInformation
.
Commenti
Importante
La chiamata a questo metodo con dati non attendibili costituisce un rischio per la sicurezza. Chiamare questo metodo solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.
In caso di errore delle risorse, la gestione risorse consente di ripristinare le integrazioni durevoli di una transazione mediante la reintegrazione dei partecipanti della transazione.
Il resourceManagerIdentifier
parametro viene usato per etichettare in modo coerente il partecipante di una transazione in caso di errore della risorsa. Quando si chiama il Reenlist metodo, gestione risorse deve fornire lo stesso resourceManagerIdentifier
utilizzato quando originariamente chiamato il metodo durante l'inserimento EnlistDurable o viene generato un TransactionException oggetto .
Dopo aver utilizzato questo metodo per reintegrare un partecipante, il sistema chiama il metodo della fase 2 dell'interfaccia IEnlistmentNotification corrispondente al risultato della transazione (ovvero Commit, Rollback o InDoubt).
Al termine dell'elenco dei partecipanti, è quindi necessario chiamare RecoveryComplete per completare il ripristino.
È consigliabile chiamare questo metodo solo quando un gestore risorse riavvia da un errore. Inoltre, la reintegrazione deve riguardare esclusivamente le transazioni non ripristinate registrate da un gestore di risorse durante la fase iniziale di preparazione di un commit a due fasi. Qualsiasi tentativo di chiamata a questo metodo in casi non validi può produrre risultati imprevisti.
Se gestione transazioni ha esito negativo e gestione risorse esegue il ripristino solo un breve periodo di tempo dopo aver chiamato il Prepared metodo in una fase 1 del protocollo Two-Phase Commit, il gestore risorse potrebbe ricevere o InDoubt Rollback callback.
Per altre informazioni sul ripristino, vedere Esecuzione del ripristino.
Nota Questo metodo usa LinkDemand per impedire che venga chiamato dal codice non attendibile. Tuttavia, è necessario che solo il chiamante immediato disponga del FullTrust
set di autorizzazioni.