CommittableTransaction Classe

Definição

Descreve uma transação comprometida.

public ref class CommittableTransaction sealed : System::Transactions::Transaction, IAsyncResult
[System.Serializable]
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
public sealed class CommittableTransaction : System.Transactions.Transaction, IAsyncResult
[<System.Serializable>]
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
type CommittableTransaction = class
    inherit Transaction
    interface IAsyncResult
Public NotInheritable Class CommittableTransaction
Inherits Transaction
Implements IAsyncResult
Herança
CommittableTransaction
Atributos
Implementações

Observações

A CommittableTransaction classe fornece uma maneira explícita para os aplicativos usarem uma transação, em vez de usar a TransactionScope classe implicitamente. Ao contrário da classe TransactionScope, o autor da aplicação precisa chamar de forma específica os métodos Commit e Rollback para efetuar ou abortar a transação. No entanto, só o criador de uma transação pode comprometer a transação. Portanto, cópias de uma transação comprometível obtidas através do Transaction.Clone método não são comprometíveis.

Note

Recomendamos que crie transações implícitas usando a TransactionScope classe, para que o contexto ambiental da transação seja automaticamente gerido para si. Também deve usar as TransactionScope classes and DependentTransaction para aplicações que exigem a utilização da mesma transação através de múltiplas chamadas de função ou múltiplas chamadas de thread. Para mais informações sobre este modelo, consulte o tópico Implementar uma Transação Implícita Usando o Âmbito da Transação .

Criar um CommittableTransaction não define automaticamente a transação ambiente, que é a transação em que o seu código é executado. Pode obter ou definir a transação ambiente chamando a propriedade estática Transaction.Current do objeto global Transaction . Para mais informações sobre transações ambientes, consulte a secção "Gerir o Fluxo de Transações usando o TransactionScopeOption" do tópico Implementar uma Transação Implícita Usando o Âmbito da Transação . Se a transação ambiente não estiver definida, qualquer operação num gestor de recursos não faz parte dessa transação. É necessário definir e reiniciar explicitamente a transação ambiente para garantir que os gestores de recursos operam no contexto correto da transação.

Até que a CommittableTransaction tenha sido comprometida, todos os recursos envolvidos na transação continuam bloqueados.

Um CommittableTransaction objeto não pode ser reutilizado. Uma vez confirmado ou revertido, não pode ser usado novamente numa transação nem definido como o contexto atual da transação.

Construtores

Name Description
CommittableTransaction()

Inicializa uma nova instância da CommittableTransaction classe.

CommittableTransaction(TimeSpan)

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

CommittableTransaction(TransactionOptions)

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

Propriedades

Name Description
IsolationLevel

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

(Herdado de Transaction)
PromoterType

Identifica de forma única o formato do byte[] devolvido 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

Name Description
BeginCommit(AsyncCallback, Object)

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

Clone()

Cria um clone da transação.

(Herdado de Transaction)
Commit()

Tenta comprometer a transação.

DependentClone(DependentCloneOption)

Cria um clone dependente da transação.

(Herdado de Transaction)
Dispose()

Liberta os recursos que o objeto detém.

(Herdado de Transaction)
EndCommit(IAsyncResult)

Termina uma tentativa de comprometer a transação de forma assíncrona.

EnlistDurable(Guid, IEnlistmentNotification, EnlistmentOptions)

Recorre a um gestor de recursos duradouro que suporta compromisso em duas fases para participar numa transação.

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

Recorre a um gestor de recursos duradouro que suporta otimização de compromissos de fase única para participar numa transação.

(Herdado de Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid)

Recruta um gestor de recursos que tem uma transação interna usando um alistamento promocional de fase única (PSPE).

(Herdado de Transaction)
EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification)

Recruta um gestor de recursos que tem uma transação interna usando um alistamento promocional de fase única (PSPE).

(Herdado de Transaction)
EnlistVolatile(IEnlistmentNotification, EnlistmentOptions)

Utiliza um gestor de recursos volátil que suporta compromisso em duas fases para participar numa transação.

(Herdado de Transaction)
EnlistVolatile(ISinglePhaseNotification, EnlistmentOptions)

Utiliza um gestor de recursos voláteis que suporta otimização de compromissos de fase única para participar numa transação.

(Herdado de Transaction)
Equals(Object)

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

(Herdado de Transaction)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Transaction)
GetPromotedToken()

Recebe o byte[] retorno 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 atual Object.

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

Promove e recruta um gestor de recursos duradouro que suporta compromissos em duas fases para participar numa transação.

(Herdado de Transaction)
Rollback()

Reverte (aborta) a transação.

(Herdado de Transaction)
Rollback(Exception)

Reverte (aborta) a transação.

(Herdado de Transaction)
SetDistributedTransactionIdentifier(IPromotableSinglePhaseNotification, Guid)

Define o identificador de transação distribuído gerado pelo promotor não-MSDTC.

(Herdado de Transaction)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

evento

Name Description
TransactionCompleted

Indica que a transação foi concluída.

(Herdado de Transaction)

Implementações de Interface Explícita

Name Description
IAsyncResult.AsyncState

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

IAsyncResult.AsyncWaitHandle

Obtém um WaitHandle que é usado para esperar que uma operação assíncrona seja concluída.

IAsyncResult.CompletedSynchronously

Obtém uma indicação de se a operação de commit assíncrona foi concluída de forma síncrona.

IAsyncResult.IsCompleted

Obtém uma indicação se a operação de commit assíncrono foi concluída.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

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

(Herdado de Transaction)

Aplica-se a

Segurança de Thread

Este tipo é seguro para fios.

Ver também