Compartilhar via


CommittableTransaction Classe

Definição

Descreve uma transação pode ser confirmada.

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
Herança
CommittableTransaction
Atributos
Implementações

Comentários

O CommittableTransaction classe fornece um modo explícito para os aplicativos que usam uma transação, em vez de usar o TransactionScope classe implicitamente. Ao contrário do TransactionScope classe, o criador do aplicativo precisa chamar especificamente o Commit e Rollback métodos para confirmar ou anular a transação. No entanto, somente o criador de uma transação pode confirmar a transação. Portanto, as cópias de uma transação committable obtidas por meio do Transaction.Clone método não são confirmáveis.

Observação

Recomendamos que você crie transações implícitas usando a TransactionScope classe para que o contexto de transação ambiente seja gerenciado automaticamente para você. Você também deve usar as TransactionScope classes e DependentTransaction para aplicativos que exigem o uso da mesma transação em várias chamadas de função ou várias chamadas de thread. Para obter mais informações sobre esse modelo, consulte o tópico Implementando uma transação implícita usando escopo de transação .

A criação de um CommittableTransaction não define automaticamente a transação de ambiente, que é a transação em que seu código é executado. Você pode obter ou definir a transação de ambiente chamando a propriedade estática Transaction.Current do objeto global Transaction . Para obter mais informações sobre transações ambiente, consulte a seção " Gerenciando o fluxo de transações usando TransactionScopeOption" do tópico Implementando uma transação implícita usando escopo de transação . Se a transação de ambiente não estiver definida, qualquer operação em um gerenciador de recursos não faz parte dessa transação. Você precisa definir e redefinir explicitamente a transação de ambiente para garantir que os gerenciadores de recursos operem no contexto de transação certo.

Até que um CommittableTransaction tenha sido confirmado, todos os recursos envolvidos com a transação ainda estarão bloqueados.

Um CommittableTransaction objeto não pode ser reutilizado. Depois de confirmado ou revertido, ele não pode ser usado novamente em uma transação ou definido como o contexto de transação ambiente atual.

Construtores

CommittableTransaction()

Inicializa uma nova instância da classe CommittableTransaction.

CommittableTransaction(TimeSpan)

Inicializa uma nova instância da classe CommittableTransaction com o valor timeout especificado.

CommittableTransaction(TransactionOptions)

Inicializa uma nova instância da classe CommittableTransaction com as opções de transação especificadas.

Propriedades

IsolationLevel

Obtém o nível de isolamento de uma transação.

(Herdado de Transaction)
PromoterType

Identifica exclusivamente o formato do byte[] retornado pelo método Promote quando a transação é promovida.

(Herdado de Transaction)
TransactionInformation

Recupera informações adicionais sobre uma transação.

(Herdado de Transaction)

Métodos

BeginCommit(AsyncCallback, Object)

Inicia uma tentativa de confirmar a transação de forma assíncrona.

Clone()

Cria um clone da transação.

(Herdado de Transaction)
Commit()

Tenta confirmar a transação.

DependentClone(DependentCloneOption)

Cria um clone dependente da transação.

(Herdado de Transaction)
Dispose()

Libera os recursos que são mantidos pelo objeto.

(Herdado de Transaction)
EndCommit(IAsyncResult)

Encerra uma tentativa de confirmar a transação de forma assíncrona.

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

Inscreve um gerenciador de recursos durável que dá suporte à confirmação em duas fases para participar de uma transação.

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

Inscreve um Resource Manager durável que dá suporte à otimização em fase única para participar de uma transação.

(Herdado de Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Inscreve um Resource Manager que tem uma transação interna usando uma PSPE (inscrição de fase única passível de promoção).

(Herdado de Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Inscreve um Resource Manager que tem uma transação interna usando uma PSPE (inscrição de fase única passível de promoção).

(Herdado de Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

Inscreve um Resource Manager volátil que dá suporte à confirmação em duas fases para participar de uma transação.

(Herdado de Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

Inscreve um Resource Manager volátil que dá suporte à otimização em fase única para participar de uma transação.

(Herdado de Transaction)
Equals(Object)

Determina se a transação e o objeto especificado são iguais.

(Herdado de Transaction)
GetHashCode()

Retorna o código hash para a instância.

(Herdado de Transaction)
GetPromotedToken()

Obtém o byte[] retornado pelo Promote método quando a transação é promovida.

(Herdado de Transaction)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

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

Promove e inscreve um gerenciador de recursos durável que dá suporte à confirmação de duas fases para participar de uma transação.

(Herdado de Transaction)
Rollback()

Reverte (anula) a transação.

(Herdado de Transaction)
Rollback(Exception)

Reverte (anula) a transação.

(Herdado de Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

Define o identificador da transação distribuída gerado pelo promotor não MSDTC.

(Herdado de Transaction)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos

TransactionCompleted

Indica que a transação está concluída.

(Herdado de Transaction)

Implantações explícitas de interface

IAsyncResult.AsyncState

Obtém o objeto fornecido como o último parâmetro da chamada de método BeginCommit(AsyncCallback, Object).

IAsyncResult.AsyncWaitHandle

Obtém um WaitHandle que é usado para aguardar a conclusão de uma operação assíncrona.

IAsyncResult.CompletedSynchronously

Obtém um valor que indica se a operação de confirmação assíncrona foi concluída de forma síncrona.

IAsyncResult.IsCompleted

Obtém um valor que indica se a operação de confirmação assíncrona foi concluída.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Obtém um SerializationInfo com os dados necessários para serializar essa transação.

(Herdado de Transaction)

Aplica-se a

Acesso thread-safe

Este tipo é thread-safe.

Confira também