CommittableTransaction Clase

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
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.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, no se pueden confirmar las copias de Transaction.Clone una transacción confirmable obtenida a través del método.Therefore, copies of a committable transaction obtained through the Transaction.Clone method are not committable.

Nota

Se recomienda crear transacciones implícitas mediante la TransactionScope clase, de modo que el contexto de la transacción ambiente se administre 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 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 en varias llamadas de subproceso.You should also use the TransactionScope and DependentTransaction classes 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 tema implementar una transacción implícita mediante el ámbito de la transacción.For more information on this model, see the Implementing An Implicit Transaction Using Transaction Scope topic.

Al crear CommittableTransaction un no se establece automáticamente la transacción ambiente, que es la transacción en la que se ejecuta 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 a la propiedad estática Transaction.Current del objeto global. TransactionYou 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 las transacciones de ambiente, consulte la sección "administración del flujo de la transacción mediante TransactionScopeOption" del tema implementar una transacción implícita mediante el ámbito de la transacción.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 ambiente, cualquier operación en un administrador de recursos no forma 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 y restablecer explícitamente la transacción ambiente para asegurarse de que los administradores de recursos operan en 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 CommittableTransaction se haya confirmado un, todos los recursos implicados en la transacción seguirá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 se puede volver a usar en una transacción o establecerse como el contexto de la transacción 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()

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

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)

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

Propiedades

IsolationLevel

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

(Heredado de Transaction)
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.

(Heredado de Transaction)
TransactionInformation

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

(Heredado de Transaction)

Métodos

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) (Heredado de Transaction)
Clone()

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

(Heredado de Transaction)
Commit()

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

DependentClone(DependentCloneOption)

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

(Heredado de Transaction)
Dispose()

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

(Heredado de Transaction)
EndCommit(IAsyncResult)

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

EndCommitInternal(IAsyncResult) (Heredado de Transaction)
EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

Inscribe 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.

(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.Enlists a durable resource manager that supports single phase commit optimization to participate in a transaction.

(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).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (PSPE).

(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).Enlists a resource manager that has an internal transaction using a promotable single phase enlistment (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.Enlists a volatile resource manager that supports two phase commit to participate in a transaction.

(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.Enlists a volatile resource manager that supports single phase commit optimization to participate in a transaction.

(Heredado de Transaction)
Equals(Object)

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

(Heredado de Transaction)
GetHashCode()

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

(Heredado de Transaction)
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.

(Heredado de Transaction)
GetType()

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

(Heredado de Object)
MemberwiseClone()

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

(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.Promotes and enlists a durable resource manager that supports two phase commit to participate in a transaction.

(Heredado de Transaction)
Rollback()

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

(Heredado de Transaction)
Rollback(Exception)

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

(Heredado de Transaction)
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.

(Heredado de Transaction)
ToString()

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

(Heredado de Object)

Eventos

TransactionCompleted

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

(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).Gets the object provided as the last parameter of the BeginCommit(AsyncCallback, Object) method call.

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

Obtiene una indicación que especifica 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

Obtiene una indicación que especifica 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)

Se aplica a

Seguridad para subprocesos

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

Consulte también: