Sdílet prostřednictvím


TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Metoda

Definice

Znovu vytvoří seznam trvalých účastníků transakce.

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

Parametry

resourceManagerIdentifiermanager
Guid

A Guid , která jednoznačně identifikuje správce prostředků.

recoveryInformationrecoveryInfo
Byte[]

Obsahuje další informace o informacích o obnovení.

enlistmentNotificationnotification
IEnlistmentNotification

Objekt prostředku, který implementuje IEnlistmentNotification příjem oznámení.

Návraty

Enlistment

Popis Enlistment zařazení.

Výjimky

Formát recoveryInformation je neplatný.

-nebo- Informace o transaction Manageru se recoveryInformation neshoduje s nakonfigurovaným správcem transakcí.

-nebo- RecoveryInformationnení rozpoznán .System.Transactions

RecoveryComplete(Guid) již byla volána pro zadané resourceManagerIdentifier. Opětovné zařazení je odmítnuto.

Neodpovídá resourceManagerIdentifier obsahu zadaných informací o obnovení v recoveryInformationsouboru .

Poznámky

Důležité

Volání této metody s nedůvěryhodnými daty představuje bezpečnostní riziko. Tuto metodu volejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Správce prostředků usnadňuje řešení trvalý zařazení v transakci tím, že reenlisting účastník transakce po selhání prostředku.

Parametr resourceManagerIdentifier se používá k konzistentnímu označení účastníka transakce v případě selhání prostředku. Při volání Reenlist metody musí správce prostředků poskytnout stejné resourceManagerIdentifier jako při původním volání EnlistDurable metody během zařazení nebo TransactionException je vyvolán.

Když je účastník reenlisted pomocí této metody metody fáze 2 IEnlistmentNotification která odpovídají výstup transakce (to znamená, Commit , Rollback nebo InDoubt ) se nazývají podle potřeby.

Po úspěšném opětovném zařazení účastníků byste měli volat RecoveryComplete k dokončení obnovení.

Tuto metodu byste měli volat pouze v případě, že se správce prostředků restartuje z selhání. Kromě toho by měla pouze reenlist nepřeloženého transakce zapsané podle správce prostředků během počátečního Prepare fáze dvoufázového potvrzení. Jakékoli pokusy o tuto metodu lze volat v neplatný časech může chybné výsledkům.

Pokud správce transakcí selže a správce prostředků provede obnovení pouze krátkou dobu po volání Prepared metody v seznamu ve fázi 1 protokolu Two-Phase Commit, správce prostředků může buď přijmout InDoubt nebo Rollback vrátit volání.

Další informace o obnovení najdete v tématu Provádění obnovení.

Poznámka Tato metoda se používá LinkDemand k tomu, aby se zabránilo volání z nedůvěryhodného kódu. Je však nutné, aby sada oprávnění měla FullTrust pouze okamžitý volající.

Platí pro

Viz také