System.Transactions Namespace
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.
Contém classes que permitem que você escreva seu próprio aplicativo transacional e gerenciador de recursos. Especificamente, você pode criar e participar de uma transação (local ou distribuída) com um ou vários participantes.
Classes
| Nome | Description |
|---|---|
| CommittableTransaction |
Descreve uma transação committable. |
| DependentTransaction |
Descreve um clone de uma transação que fornece garantia de que a transação não pode ser confirmada até que o aplicativo seja rest sobre o trabalho na transação. Essa classe não pode ser herdada. |
| DistributedTransactionPermission |
A permissão que é exigida quando System.Transactions o gerenciamento de uma transação é escalonado para MSDTC. Essa classe não pode ser herdada. |
| DistributedTransactionPermissionAttribute |
Permite que ações DistributedTransactionPermission de segurança sejam aplicadas ao código usando segurança declarativa. Essa classe não pode ser herdada. |
| Enlistment |
Facilita a comunicação entre um participante de transação inscrito e o gerenciador de transações durante a fase final da transação. |
| PreparingEnlistment |
Facilita a comunicação entre um participante de transação inscrito e o gerenciador de transações durante a fase Preparar da transação. |
| SinglePhaseEnlistment |
Fornece um conjunto de retornos de chamada que facilitam a comunicação entre um participante inscrito para Confirmação de Fase Única e o gerenciador de transações quando a SinglePhaseCommit(SinglePhaseEnlistment) notificação é recebida. |
| SubordinateTransaction |
Representa uma transação não raiz que pode ser delegada. Essa classe não pode ser herdada. |
| Transaction |
Representa uma transação. |
| TransactionAbortedException |
A exceção gerada quando uma operação é tentada em uma transação que já foi revertida ou é feita uma tentativa de confirmar a transação e a transação é anulada. |
| TransactionEventArgs |
Fornece dados para os seguintes eventos de transação: DistributedTransactionStarted, TransactionCompleted. |
| TransactionException |
A exceção gerada quando você tenta trabalhar em uma transação que não pode aceitar um novo trabalho. |
| TransactionInDoubtException |
A exceção gerada quando uma operação é tentada em uma transação em dúvida ou uma tentativa de confirmar a transação e a transação se torna InDoubt. |
| TransactionInformation |
Fornece informações adicionais sobre uma transação. |
| TransactionInterop |
Facilita a interação entre System.Transactions componentes que foram gravados anteriormente para interagir com MSDTC, COM+ou System.EnterpriseServices. Essa classe não pode ser herdada. |
| TransactionManager |
Contém métodos usados para o gerenciamento de transações. Essa classe não pode ser herdada. |
| TransactionManagerCommunicationException |
A exceção gerada quando um gerenciador de recursos não pode se comunicar com o gerenciador de transações. |
| TransactionPromotionException |
A exceção gerada quando uma promoção falha. |
| TransactionScope |
Torna um bloco de código transacional. Essa classe não pode ser herdada. |
Estruturas
| Nome | Description |
|---|---|
| TransactionOptions |
Contém informações adicionais que especificam comportamentos de transação. |
Interfaces
| Nome | Description |
|---|---|
| IDtcTransaction |
Descreve uma transação DTC. |
| IEnlistmentNotification |
Descreve uma interface que um gerenciador de recursos deve implementar para fornecer retornos de chamada de notificação de confirmação de duas fases para o gerenciador de transações ao se inscrever para participação. |
| IPromotableSinglePhaseNotification |
Descreve um objeto que atua como um delegado de confirmação para uma transação não distribuída interna para um gerenciador de recursos. |
| ISimpleTransactionSuperior |
Representa uma transação que não é uma transação raiz, mas pode ser escalonada para ser gerenciada pelo MSDTC. |
| ISinglePhaseNotification |
Descreve um objeto de recurso que dá suporte à otimização de confirmação de fase única para participar de uma transação. |
| ITransactionPromoter |
Descreve uma transação delegada para uma transação existente que pode ser escalonada para ser gerenciada pelo MSDTC quando necessário. |
Enumerações
| Nome | Description |
|---|---|
| DependentCloneOption |
Controla o tipo de transação dependente a ser criada. |
| EnlistmentOptions |
Determina se o objeto deve ser inscrito durante a fase de preparação. |
| EnterpriseServicesInteropOption |
Especifica como as transações distribuídas interagem com transações COM+. |
| IsolationLevel |
Especifica o nível de isolamento de uma transação. |
| TransactionScopeAsyncFlowOption |
Especifica se o fluxo de transações entre continuações de thread está habilitado para TransactionScope. |
| TransactionScopeOption |
Fornece opções adicionais para criar um escopo de transação. |
| TransactionStatus |
Descreve o status atual de uma transação distribuída. |
Delegados
| Nome | Description |
|---|---|
| HostCurrentTransactionCallback |
Fornece um mecanismo para que o ambiente de hospedagem forneça sua própria noção padrão de Current. |
| TransactionCompletedEventHandler |
Representa o método que manipula o TransactionCompleted evento de uma Transaction classe. |
| TransactionStartedEventHandler |
Representa o método que manipulará o DistributedTransactionStarted evento de uma TransactionManager classe. |
Comentários
A infraestrutura de System.Transactions torna a programação transacional simples e eficiente em toda a plataforma, dando suporte a transações iniciadas em SQL Server, ADO.NET, MSMQ e o Coordenador de Transações Distribuídas da Microsoft (MSDTC). Ele fornece um modelo de programação explícito baseado na Transaction classe, bem como um modelo de programação implícita usando a classe, na qual as TransactionScope transações são gerenciadas automaticamente pela infraestrutura. É altamente recomendável que você use o modelo implícito mais fácil para desenvolvimento. Para obter mais informações sobre como escrever um aplicativo transacional, consulte Gravando um aplicativo transacional.
System.Transactions também fornece tipos para você implementar um gerenciador de recursos. O gerenciador de transações nativo da System.Transactions infraestrutura permite que recursos voláteis ou um único alistamento de recursos duráveis sejam confirmados ou revertidos com eficiência.
O gerenciador de transações também escalona transações locais de forma transparente para transações distribuídas coordenando por meio de um gerenciador de transações baseado em disco como o DTC, quando um gerenciador de recursos durável adicional se insere em uma transação. Há duas maneiras principais de a System.Transactions infraestrutura fornecer um desempenho aprimorado.
Escalonamento dinâmico, o que significa que a
System.Transactionsinfraestrutura só envolve o MSDTC quando ele é realmente necessário para uma transação.Podem ser promovidas inscrições, que permite que um recurso, como um banco de dados, apropriar-se da transação se for a única entidade participa da transação. Posteriormente, se necessário, a
System.Transactionsinfraestrutura ainda poderá escalonar o gerenciamento da transação para MSDTC. Isso reduz ainda mais a chance de usar o MSDTC.