Este tema aún no ha recibido ninguna valoración - Valorar este tema

PreparingEnlistment (Clase)

Actualización: noviembre 2007

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.

Espacio de nombres:  System.Transactions
Ensamblado:  System.Transactions (en System.Transactions.dll)
public class PreparingEnlistment : Enlistment
public class PreparingEnlistment extends Enlistment
public class PreparingEnlistment extends Enlistment

Durante la fase inicial (preparación) de la transacción, el administrador de transacciones pasa este tipo al administrador de recursos mediante una llamada al método Prepare para obtener el voto de un recurso para la transacción. En función de que se vote confirmar o deshacer, la implementación del administrador de recursos debería llamar a los métodos Prepared o ForceRollback de este tipo.

El administrador de recursos también puede llamar en cualquier momento al método Done antes de haber llamado al método Prepared. 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.

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

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


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


System.Object
  System.Transactions.Enlistment
    System.Transactions.PreparingEnlistment

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

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.