TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- recoveryInformationrecoveryInfo
- Byte[]
Obsahuje další informace o informacích o obnovení.
- enlistmentNotificationnotification
- IEnlistmentNotification
Objekt prostředku, který implementuje IEnlistmentNotification příjem oznámení.
Návraty
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-
RecoveryInformation
není 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 recoveryInformation
souboru .
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í.