IEnlistmentNotification.Prepare(PreparingEnlistment) Método

Definición

Notifica a un objeto inscrito que se prepara una transacción para la confirmación.

public:
 void Prepare(System::Transactions::PreparingEnlistment ^ preparingEnlistment);
public void Prepare (System.Transactions.PreparingEnlistment preparingEnlistment);
abstract member Prepare : System.Transactions.PreparingEnlistment -> unit
Public Sub Prepare (preparingEnlistment As PreparingEnlistment)

Parámetros

preparingEnlistment
PreparingEnlistment

Objeto PreparingEnlistment utilizado para enviar una respuesta al administrador de transacciones.

Comentarios

El administrador de transacciones llama a este método de un administrador de recursos inscrito durante la fase 1 de un compromiso, cuando pregunta a los participantes si pueden confirmar la transacción.

Al implementar un administrador de recursos duradero, debe registrar el registro de preparación durante esta fase. El registro debe contener toda la información necesaria para realizar la recuperación. Esto incluye la RecoveryInformation propiedad , que se pasa al administrador de transacciones en el método durante la Reenlist recuperación. Para obtener más información sobre recuperación, vea Realización de la recuperación.

El administrador de recursos debe completar todo el trabajo que debe finalizar antes de llamar al Prepared método del preparingEnlistment parámetro para indicar su voto por compromiso. Debe asegurarse de que esto se logra antes de recibir cualquier notificación de fase 2, como confirmación, reversión o duda. Esto se debe a que las notificaciones de fase 2 pueden producirse insertadas en el mismo subproceso que llamó al método en la Prepared fase 1. Como tal, no debería realizar ningún trabajo después de la llamada a Prepared (por ejemplo, liberando bloqueos) que debería esperar que se habrían completado antes de recibir las notificaciones de la fase 2.

También puede llamar al método del preparingEnlistment parámetro para indicar un voto de reversión.

Si desea que el objeto simplemente observe y reaccione al progreso de la transacción, sin participar en ella, la implementación de este método debe llamar al Done método del preparingEnlistment parámetro cuando haya terminado su trabajo. Al hacerlo, el administrador de recursos no recibiría ninguna notificación de fase 2.

Se aplica a