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.