Compartir a través de


CommittableTransaction Clase

Definición

Describe una transacción confirmable.

public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
[<System.Serializable>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult
Herencia
CommittableTransaction
Atributos
Implementaciones

Comentarios

La clase CommittableTransaction proporciona a las aplicaciones una manera explícita de utilizar una transacción, a diferencia de utilizar implícitamente la clase TransactionScope. A diferencia de la clase TransactionScope, el sistema de escritura de la aplicación ha de llamar específicamente a los métodos Commit y Rollback para confirmar o anular la transacción. Sin embargo, solo el creador de una transacción puede confirmar la transacción. Por lo tanto, las copias de una transacción confirmable obtenida a través del Transaction.Clone método no son confirmables.

Nota

Se recomienda crear transacciones implícitas mediante la TransactionScope clase para que el contexto de transacción ambiente se administre automáticamente. También debe usar las TransactionScope clases y DependentTransaction para las aplicaciones que requieren el uso de la misma transacción en varias llamadas de función o varias llamadas a subprocesos. Para obtener más información sobre este modelo, vea el tema Implementación de una transacción implícita mediante ámbito de transacción .

La creación de un no CommittableTransaction establece automáticamente la transacción ambiente, que es la transacción en la que se ejecuta el código. Puede obtener o establecer la transacción ambiental llamando a la propiedad estática Transaction.Current del objeto global Transaction . Para obtener más información sobre las transacciones ambientales, vea la sección "Managing Transaction Flow using TransactionScopeOption" (Administrar flujo de transacciones mediante TransactionScopeOption) del tema Implementación de una transacción implícita mediante ámbito de transacción . Si no se establece la transacción ambiental, ninguna operación en un administrador de recursos forma parte de esa transacción. Debe establecer y restablecer explícitamente la transacción ambiente para asegurarse de que los administradores de recursos operan en el contexto de transacción correcto.

Hasta que se haya confirmado , CommittableTransaction todos los recursos implicados en la transacción siguen bloqueados.

No se puede reutilizar un objeto CommittableTransaction. Una vez que se ha confirmado o revertido, no se puede volver a usar en una transacción o establecerse como el contexto de transacción ambiente actual.

Constructores

CommittableTransaction()

Inicializa una nueva instancia de la clase CommittableTransaction.

CommittableTransaction(TimeSpan)

Inicializa una nueva instancia de la clase CommittableTransaction con el valor timeout especificado.

CommittableTransaction(TransactionOptions)

Inicializa una nueva instancia de la clase CommittableTransaction con las opciones de transacción especificadas.

Propiedades

IsolationLevel

Obtiene el nivel de aislamiento de la transacción.

(Heredado de Transaction)
PromoterType

Identifica de forma única el formato del byte[] que devuelve el método Promote cuando se promueve la transacción.

(Heredado de Transaction)
TransactionInformation

Recupera información adicional sobre una transacción.

(Heredado de Transaction)

Métodos

BeginCommit(AsyncCallback, Object)

Comienza un intento de confirmar la transacción de forma asincrónica.

Clone()

Crea un duplicado de la transacción.

(Heredado de Transaction)
Commit()

Intenta confirmar la transacción.

DependentClone(DependentCloneOption)

Crea un clon dependiente de la transacción.

(Heredado de Transaction)
Dispose()

Libera los recursos que mantiene el objeto.

(Heredado de Transaction)
EndCommit(IAsyncResult)

Finaliza un intento de confirmar la transacción de forma asincrónica.

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

Inscribe un administrador de recursos duradero que admite la confirmación en dos fases para participar en una transacción.

(Heredado de Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

Inscribe un administrador de recursos duradero que admite la optimización de confirmación en dos fases para participar en una transacción.

(Heredado de Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).

(Heredado de Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).

(Heredado de Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

Inscribe un administrador de recursos volátil que admite confirmación en dos fases para participar en una transacción.

(Heredado de Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

Inscribe un administrador de recursos volátil que admite la optimización de confirmación en una fase para participar en una transacción.

(Heredado de Transaction)
Equals(Object)

Determina si esta transacción y el objeto especificado son iguales.

(Heredado de Transaction)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Transaction)
GetPromotedToken()

Obtiene el byte[] devuelto por el Promote método cuando se promueve la transacción.

(Heredado de Transaction)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

Promueve e inscribe un administrador de recursos duradero que admite la confirmación en dos fases para participar en una transacción.

(Heredado de Transaction)
Rollback()

Revierte (anula) la transacción.

(Heredado de Transaction)
Rollback(Exception)

Revierte (anula) la transacción.

(Heredado de Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

Establece el identificador de transacción distribuida generado por el promotor que no es de MSDTC.

(Heredado de Transaction)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

TransactionCompleted

Indica que se ha finalizado la transacción.

(Heredado de Transaction)

Implementaciones de interfaz explícitas

IAsyncResult.AsyncState

Obtiene el objeto proporcionado como el último parámetro de la llamada al método BeginCommit(AsyncCallback, Object).

IAsyncResult.AsyncWaitHandle

Obtiene WaitHandle que se utiliza para esperar a que finalice una operación asincrónica.

IAsyncResult.CompletedSynchronously

Obtiene una indicación que especifica si la operación de confirmación asincrónica ha finalizado sincrónicamente.

IAsyncResult.IsCompleted

Obtiene una indicación que especifica si la operación de confirmación asincrónica ha finalizado.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Obtiene una clase SerializationInfo con los datos necesarios para serializar esta transacción.

(Heredado de Transaction)

Se aplica a

Seguridad para subprocesos

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

Consulte también