CommittableTransaction CommittableTransaction CommittableTransaction CommittableTransaction Class

Definición

Describe una transacción confirmable.Describes a committable transaction.

public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult, IDisposable, System::Runtime::Serialization::ISerializable
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult, IDisposable, System.Runtime.Serialization.ISerializable
type CommittableTransaction = class
    inherit Transaction
    interface ISerializable
    interface IDisposable
    interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult, IDisposable, ISerializable
Herencia
CommittableTransactionCommittableTransactionCommittableTransactionCommittableTransaction
Atributos
Implementaciones

Ejemplos

El ejemplo siguiente crea dos nuevas instancias de CommittableTransaction, confirma y deshacen respectivamente.The following sample creates two new instances of CommittableTransaction, commits and rolls back them respectively.

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.The CommittableTransaction class provides an explicit way for applications to use a transaction, as opposed to using the TransactionScope class implicitly. 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.Unlike the TransactionScope class, the application writer needs to specifically call the Commit and Rollback methods in order to commit or abort the transaction. Sin embargo, solo el creador de una transacción puede confirmar la transacción.However, only the creator of a transaction can commit the transaction. Por lo tanto, copias de una transacción confirmable, se obtiene a través de la Clone método no son confirmable.Therefore, copies of a committable transaction, obtained through the Clone method are not committable.

Nota

Se recomienda crear transacciones implícitas mediante la TransactionScope clase, por lo que el contexto de transacción de ambiente se administra automáticamente.We recommend that you create implicit transactions using the TransactionScope class, so that the ambient transaction context is automatically managed for you. También se debe utilizar el TransactionScope y DependentTransaction clase para las aplicaciones que requieren el uso de la misma transacción entre varias llamadas de función o varias llamadas del subproceso.You should also use the TransactionScope and DependentTransaction class for applications that require the use of the same transaction across multiple function calls or multiple thread calls. Para obtener más información sobre este modelo, vea el Implementing An implícita transacción Using transacción Scope tema.For more information on this model, see the Implementing An Implicit Transaction Using Transaction Scope topic.

Creación de un CommittableTransaction no se establece automáticamente la transacción ambiente, que es la transacción se ejecuta en el código.Creating a CommittableTransaction does not automatically set the ambient transaction, which is the transaction your code executes in. Puede obtener o establecer la transacción ambiente llamando estático Transaction.Current propiedad de la información global Transaction objeto.You can get or set the ambient transaction by calling the static Transaction.Current property of the global Transaction object. Para obtener más información sobre transacciones de ambiente, vea la sección "Flujo de transacción de administración utilizando TransactionScopeOption" de la Implementing An implícita transacción Using transacción Scope tema.For more information on ambient transactions, see the " Managing Transaction Flow using TransactionScopeOption" section of the Implementing An Implicit Transaction Using Transaction Scope topic. Si no se establece la transacción de ambiente, cualquier operación en un administrador de recursos no es parte de esa transacción.If the ambient transaction is not set, any operation on a resource manager is not part of that transaction. Debe establecer explícitamente y restablecer la transacción ambiente para asegurarse de que los administradores de recursos funcionan bajo el contexto de transacción correcto.You need to explicitly set and reset the ambient transaction to ensure that resource managers operate under the right transaction context.

Hasta que un CommittableTransaction tiene ha confirmado, todos los recursos relacionados con la transacción todavía están bloqueados.Until a CommittableTransaction has been committed, all the resources involved with the transaction are still locked.

No se puede reutilizar un objeto CommittableTransaction.A CommittableTransaction object cannot be reused. Una vez que se ha confirmado o revertido, no puede volver a usar en una transacción ni establecer como el contexto de transacción de ambiente actual.Once it has been committed or rolled back, it cannot be used again in a transaction or set as the current ambient transaction context.

Constructores

CommittableTransaction() CommittableTransaction() CommittableTransaction() CommittableTransaction()

Inicializa una nueva instancia de la clase CommittableTransaction.Initializes a new instance of the CommittableTransaction class.

CommittableTransaction(TimeSpan) CommittableTransaction(TimeSpan) CommittableTransaction(TimeSpan) CommittableTransaction(TimeSpan)

Inicializa una nueva instancia de la clase CommittableTransaction con el valor timeout especificado.Initializes a new instance of the CommittableTransaction class with the specified timeout value.

CommittableTransaction(TransactionOptions) CommittableTransaction(TransactionOptions) CommittableTransaction(TransactionOptions) CommittableTransaction(TransactionOptions)

Inicializa una nueva instancia de la CommittableTransaction clase con las opciones de transacción especificado.Initializes a new instance of the CommittableTransaction class with the specified transaction options.

Métodos

BeginCommit(AsyncCallback, Object) BeginCommit(AsyncCallback, Object) BeginCommit(AsyncCallback, Object) BeginCommit(AsyncCallback, Object)

Comienza un intento de confirmar la transacción de forma asincrónica.Begins an attempt to commit the transaction asynchronously.

BeginCommitInternal(AsyncCallback) BeginCommitInternal(AsyncCallback) BeginCommitInternal(AsyncCallback) BeginCommitInternal(AsyncCallback) Inherited from Transaction
Clone() Clone() Clone() Clone()

Crea un clon de la transacción.Creates a clone of the transaction.

(Inherited from Transaction)
Commit() Commit() Commit() Commit()

Intenta confirmar la transacción.Attempts to commit the transaction.

DependentClone(DependentCloneOption) DependentClone(DependentCloneOption) DependentClone(DependentCloneOption) DependentClone(DependentCloneOption)

Crea un clon dependiente de la transacción.Creates a dependent clone of the transaction.

(Inherited from Transaction)
Dispose() Dispose() Dispose() Dispose()

Libera los recursos que mantiene el objeto.Releases the resources that are held by the object.

(Inherited from Transaction)
EndCommit(IAsyncResult) EndCommit(IAsyncResult) EndCommit(IAsyncResult) EndCommit(IAsyncResult)

Finaliza un intento de confirmar la transacción de forma asincrónica.Ends an attempt to commit the transaction asynchronously.

EndCommitInternal(IAsyncResult) EndCommitInternal(IAsyncResult) EndCommitInternal(IAsyncResult) EndCommitInternal(IAsyncResult) Inherited from Transaction
EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions) EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

Inscribe a un administrador de recursos duradero que admite la confirmación en dos fases para participar en una transacción.Enlists a durable resource manager that supports two phase commit to participate in a transaction.

(Inherited from Transaction)
EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions) EnlistDurable(Guid, ISinglePhaseNotification, EnlistmentOptions)

Inscribe a un administrador de recursos duradero que admite la optimización de confirmación de fase única para participar en una transacción.Enlists a durable resource manager that supports single phase commit optimization to participate in a transaction.

(Inherited from Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

(Inherited from Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscribe a un administrador de recursos que tiene una transacción interna mediante una Inscripción de fase única promocionable (PSPE).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

(Inherited from Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) EnlistVolatile(IEnlistmentNotification, EnlistmentOptions) EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

Inscribe un administrador de recursos volátil que admite confirmación en dos fases para participar en una transacción.Enlists a volatile resource manager that supports two phase commit to participate in a transaction.

(Inherited from Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions) EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

Inscribe a un administrador de recursos volátil que admite la optimización de confirmación de fase única para participar en una transacción.Enlists a volatile resource manager that supports single phase commit optimization to participate in a transaction.

(Inherited from Transaction)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si esta transacción y el objeto especificado son iguales.Determines whether this transaction and the specified object are equal.

(Inherited from Transaction)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

(Inherited from Transaction)
GetPromotedToken() GetPromotedToken() GetPromotedToken() GetPromotedToken()

Obtiene byte[] que el método Promote devuelve cuando se promueve la transacción.Gets the byte[] returned by the Promote method when the transaction is promoted.

(Inherited from Transaction)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions) PromoteAndEnlistDurable(Guid, IPromotableSinglePhaseNotification, ISinglePhaseNotification, EnlistmentOptions)

Promueve e inscribe a un administrador de recursos duradero que admite la confirmación en dos fases para participar en una transacción.Promotes and enlists a durable resource manager that supports two phase commit to participate in a transaction.

(Inherited from Transaction)
Rollback() Rollback() Rollback() Rollback()

Revierte (anula) la transacción.Rolls back (aborts) the transaction.

(Inherited from Transaction)
Rollback(Exception) Rollback(Exception) Rollback(Exception) Rollback(Exception)

Revierte (anula) la transacción.Rolls back (aborts) the transaction.

(Inherited from Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid) SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

Establece el identificador de transacción distribuida generado por el promotor que no es de MSDTC.Sets the distributed transaction identifier generated by the non-MSDTC promoter.

(Inherited from Transaction)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

IAsyncResult.AsyncState IAsyncResult.AsyncState IAsyncResult.AsyncState IAsyncResult.AsyncState

Obtiene el objeto proporcionado como el último parámetro de la BeginCommit(AsyncCallback, Object) llamada al método.Gets the object provided as the last parameter of the BeginCommit(AsyncCallback, Object) method call.

IAsyncResult.AsyncWaitHandle IAsyncResult.AsyncWaitHandle IAsyncResult.AsyncWaitHandle IAsyncResult.AsyncWaitHandle

Obtiene WaitHandle que se utiliza para esperar a que finalice una operación asincrónica.Gets a WaitHandle that is used to wait for an asynchronous operation to complete.

IAsyncResult.CompletedSynchronously IAsyncResult.CompletedSynchronously IAsyncResult.CompletedSynchronously IAsyncResult.CompletedSynchronously

Obtiene una indicación de si la operación de confirmación asincrónica ha finalizado sincrónicamente.Gets an indication of whether the asynchronous commit operation completed synchronously.

IAsyncResult.IsCompleted IAsyncResult.IsCompleted IAsyncResult.IsCompleted IAsyncResult.IsCompleted

Obtiene un valor que indica si la operación de confirmación asincrónica ha finalizado.Gets an indication whether the asynchronous commit operation has completed.

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Propiedades

IsolationLevel IsolationLevel IsolationLevel IsolationLevel

Obtiene el nivel de aislamiento de la transacción.Gets the isolation level of the transaction.

(Inherited from Transaction)
PromoterType PromoterType PromoterType PromoterType

Identifica de forma única el formato de byte[] que el método Promote devuelve cuando se promueve la transacción.Uniquely identifies the format of the byte[] returned by the Promote method when the transaction is promoted.

(Inherited from Transaction)
TransactionInformation TransactionInformation TransactionInformation TransactionInformation

Recupera información adicional sobre una transacción.Retrieves additional information about a transaction.

(Inherited from Transaction)

Eventos

TransactionCompleted TransactionCompleted TransactionCompleted TransactionCompleted

Indica que se ha completado la transacción.Indicates that the transaction is completed.

(Inherited from Transaction)

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para la ejecución de subprocesos.This type is thread safe.

Consulte también: