CommittableTransaction Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 |
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 |
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 |
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) |
Métodos de Extensão
ToApmEnd(IAsyncResult) |
Descreve uma transação pode ser confirmada. |
ToApmEnd<TResult>(IAsyncResult) |
Descreve uma transação pode ser confirmada. |
Aplica-se a
Acesso thread-safe
Este tipo é thread-safe.