Compartilhar via


Escrever um aplicativo transacional

Como um programador de aplicativo transacional, você pode tirar proveito dos dois modelos de programação fornecidas pelo System.Transactions namespace para criar uma transação. Você pode utilizar o modelo de programação explícito usando a classe Transaction ou o modelo de programação implícito na qual as transações são automaticamente gerenciadas pela infra-estrutura, usando a classe TransactionScope. É recomendável que você use o modelo de transação implícita para o desenvolvimento. Você pode encontrar mais informações sobre como usar um escopo de transação no tópico Implementar uma transação implícita usando o escopo de transação.

Ambos os modelos dão suporte a confirmar uma transação quando o programa atingir um estado consistente. Se a confirmação for bem-sucedida, a transação é permanentemente confirmada. Se a confirmação falhar, a transação é anulada. Se o programa de aplicativo não puder concluir com êxito a transação, ele tenta cancelar e desfazer os efeitos da transação.

Nesta seção

Criando uma transação

O System.Transactions namespace fornece dois modelos para a criação de uma transação. Esses modelos são abordados nos tópicos a seguir.

Implementar uma transação implícita usando o escopo da transação

Descreve como o System.Transactions namespace oferece suporte à criação de transações implícitas usando o TransactionScope classe.

Implementar uma transação explícita usando CommittableTransaction

Descreve como o System.Transactions namespace oferece suporte à criação de transações explícitas usando o CommittableTransaction classe.

Cada vez maiores de gerenciamento de transações

Quando uma transação que precisa acessar um recurso em outro domínio de aplicativo, ou se você deseja inscrever-se em outro gerenciador de recursos duráveis, a transação será escalonada automaticamente para ser gerenciado pelo MSDTC. Escalonamento de transações é coberto no tópico Escalonamento no Gerenciamento de Transações.

Simultaneidade

O tópico Gerenciamento de simultaneidade com DependentTransaction demonstra como a simultaneidade pode ser obtida entre tarefas assíncronas usando a classe DependentTransaction.

Interoperabilidade do COM+

A interoperabilidade do tópico com os Serviços Empresariais e transações COM+ ilustra como você pode fazer suas transações distribuídas interagirem com transações COM+.

Diagnósticos

Diagnostic Traces descreve como você pode usar os códigos de rastreamento gerados pela infra-estrutura System.Transactions para solucionar problemas de erros em seus aplicativos.

Trabalhando no ASP.NET

O tópico Using System.Transactions em ASP.NET descreve como você pode usar System.Transactions com êxito dentro de um aplicativo ASP.NET.