Exportar (0) Imprimir
Expandir todo

PreparingEnlistment.Prepared (Método)

Indica que se puede confirmar la transacción.

Espacio de nombres: System.Transactions
Ensamblado: System.Transactions (en system.transactions.dll)

public void Prepared ()
public void Prepared ()
public function Prepared ()
No aplicable.

En la primera fase (preparación) de una confirmación en dos fases, un administrador de recursos que implementa el método Prepare de la interfaz IEnlistmentNotification, llama a este método para indicar que se puede confirmar la transacción.

El administrador de recursos puede llamar en cualquier momento al método Done antes de haber llamado a este método. De esta forma, la inscripción produce un voto de sólo lectura, es decir, confirma la transacción pero no necesita recibir el resultado final.

Una vez que una inscripción llama a este método y antes de que se devuelva el control, es posible que otro subproceso o este mismo subproceso pudieran llamar al mismo método de inscripción como por ejemplo Rollback para realizar una operación de deshacer. Esto puede producir una situación de interbloqueo si la implementación del administrador de recursos no libera los bloqueos de recurso hasta después de que este método devuelva el control.

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();
    }
}

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft