TransactionManager.Reenlist(Guid, Byte[], IEnlistmentNotification) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Vuelve a incluir un participante duradero en una transacción.
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
Parámetros
- recoveryInformation
- Byte[]
Contiene información adicional de información de recuperación.
- enlistmentNotification
- IEnlistmentNotification
Objeto de recurso que implementa IEnlistmentNotification para recibir notificaciones.
Devoluciones
que Enlistment describe la inscripción.
Excepciones
recoveryInformation no es válido.
O bien
La información del Administrador de transacciones de recoveryInformation no coincide con el administrador de transacciones configurado.
O bien
recoveryInformation no es reconocido por System.Transactions.
RecoveryComplete(Guid) ya se ha llamado a para el especificado resourceManagerIdentifier. Se rechaza la reenlistación.
resourceManagerIdentifier no coincide con el contenido de la información de recuperación especificada en recoveryInformation.
Comentarios
Importante
Llamar a este método con datos que no son de confianza es un riesgo de seguridad. Llame a este método solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.
Un administrador de recursos facilita la resolución de las inscripciones duraderas en una transacción al reinscribir al participante de la transacción tras una falla del recurso.
El resourceManagerIdentifier parámetro se usa para etiquetar de forma coherente al participante de una transacción en caso de error de recurso. Al llamar al Reenlist método , el administrador de recursos debe proporcionar lo mismo resourceManagerIdentifier que usó cuando se llamó originalmente al método durante la EnlistDurable inscripción o se produce una TransactionException excepción .
Cuando un participante se vuelve a incluir mediante este método, se llama a los métodos de fase 2 de que corresponden al resultado de IEnlistmentNotification la transacción (es decir, Commit, Rollbacko InDoubt ).
Una vez que los participantes se vuelvan a enumerar correctamente, debe llamar RecoveryComplete a para completar la recuperación.
Solo debe llamar a este método cuando un administrador de recursos se reinicie desde un error. Además, solo debería volver a inscribir las transacciones sin resolver registradas por un administrador de recursos durante fase de preparación inicial de una confirmación en dos fases. Cualquier intento de llamar a este método en momentos no válidos puede producir resultados erróneos.
Si se produce un error en el administrador de transacciones y el administrador de recursos realiza la recuperación solo un poco después de llamar al Prepared método en una inscripción en la fase 1 del protocolo de confirmación de Two-Phase, el administrador de recursos podría recibir la InDoubt devolución de llamada o Rollback .