Compartir a través de


PreparingEnlistment Clase

Definición

Facilita la comunicación entre un participante de la transacción inscrito y el administrador de transacciones durante la fase de preparación de la transacción.

public ref class PreparingEnlistment : System::Transactions::Enlistment
public class PreparingEnlistment : System.Transactions.Enlistment
type PreparingEnlistment = class
    inherit Enlistment
Public Class PreparingEnlistment
Inherits Enlistment
Herencia
PreparingEnlistment

Ejemplos

class myEnlistmentClass : IEnlistmentNotification
{
    public void Prepare(PreparingEnlistment preparingEnlistment)
    {
        Console.WriteLine("Prepare notification received");

        //Perform transactional work

        //If work finished correctly, reply prepared
        preparingEnlistment.Prepared();

        // otherwise, do a ForceRollback
        preparingEnlistment.ForceRollback();
    }

    public void Commit(Enlistment enlistment)
    {
        Console.WriteLine("Commit notification received");

        //Do any work necessary when commit notification is received

        //Declare done on the enlistment
        enlistment.Done();
    }

    public void Rollback(Enlistment enlistment)
    {
        Console.WriteLine("Rollback notification received");

        //Do any work necessary when rollback notification is received

        //Declare done on the enlistment
        enlistment.Done();
    }

    public void InDoubt(Enlistment enlistment)
    {
        Console.WriteLine("In doubt notification received");

        //Do any work necessary when indout notification is received
        
        //Declare done on the enlistment
        enlistment.Done();
    }
}
Public Class EnlistmentClass
    Implements IEnlistmentNotification

    Public Sub Prepare(ByVal myPreparingEnlistment As PreparingEnlistment) Implements System.Transactions.IEnlistmentNotification.Prepare
        Console.WriteLine("Prepare notification received")

        'Perform transactional work

        'If work finished correctly, reply with prepared
        myPreparingEnlistment.Prepared()
    End Sub

    Public Sub Commit(ByVal myEnlistment As Enlistment) Implements System.Transactions.IEnlistmentNotification.Commit
        Console.WriteLine("Commit notification received")

        'Do any work necessary when commit notification is received

        'Declare done on the enlistment
        myEnlistment.Done()
    End Sub

    Public Sub Rollback(ByVal myEnlistment As Enlistment) Implements System.Transactions.IEnlistmentNotification.Rollback
        Console.WriteLine("Rollback notification received")

        'Do any work necessary when rollback notification is received

        'Declare done on the enlistment
        myEnlistment.Done()
    End Sub

    Public Sub InDoubt(ByVal myEnlistment As Enlistment) Implements System.Transactions.IEnlistmentNotification.InDoubt
        Console.WriteLine("In doubt notification received")

        'Do any work necessary when indout notification is received

        'Declare done on the enlistment
        myEnlistment.Done()
    End Sub
End Class

Comentarios

Durante la fase inicial (preparación) de la transacción, el administrador de transacciones pasa este tipo al administrador de recursos llamando al método para obtener el Prepare voto de un recurso en la transacción. En función de si vota confirmar o revertir, la implementación del administrador de recursos debe llamar a los Prepared métodos o ForceRollback de este tipo.

El administrador de recursos también puede llamar al Done método en cualquier momento antes de que haya llamado al Prepared método . Al hacerlo, la inscripción se convierte en un voto de solo lectura, lo que significa que vota la confirmación en la transacción, pero no necesita recibir el resultado final.

Los administradores de recursos duraderos pueden recuperar la información que necesita el administrador de transacciones para volver a inscribirse desde la RecoveryInformation propiedad . Para obtener más información sobre la recuperación, consulte Realizar recuperación.

Métodos

Done()

Indica que el participante de la transacción ha finalizado su trabajo.

(Heredado de Enlistment)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
ForceRollback()

Indica que debería deshacerse la transacción.

ForceRollback(Exception)

Indica que debería deshacerse la transacción.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Prepared()

Indica que se puede confirmar la transacción.

RecoveryInformation()

Obtiene la información de recuperación de una inscripción.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para la ejecución de subprocesos.

Consulte también