Compartilhar via


Escrevendo um aplicativo transacional

Como programador de aplicativos transacionais, você pode aproveitar os dois modelos de programação fornecidos pelo System.Transactions namespace para criar uma transação. Você pode utilizar o modelo de programação explícito usando a Transaction classe ou o modelo de programação implícita no qual as transações são gerenciadas automaticamente pela infraestrutura, usando a TransactionScope classe. Recomendamos que você use o modelo de transação implícita para desenvolvimento. Você pode encontrar mais informações sobre como usar um escopo de transação na implementação de uma transação implícita usando o tópico Escopo da Transação .

Ambos os modelos dão suporte à confirmação de uma transação quando o programa atinge um estado consistente. Se a confirmação for bem-sucedida, a transação é permanentemente confirmada. Se a confirmação falhar, a transação será anulada. Se o programa de aplicativo não conseguir concluir a transação com êxito, ele tentará anular e desfazer os efeitos da transação.

Nesta seção

Criando uma transação

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

Implementando uma transação implícita usando o Escopo da Transação

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

Implementando uma transação explícita usando CommittableTransaction

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

Escalando o gerenciamento de transações

Quando uma transação precisa acessar um recurso em outro domínio de aplicativo ou se você quiser se inscrever em outro gerenciador de recursos durável, a transação é escalonada automaticamente para ser gerenciada pelo MSDTC. O escalonamento de transações é abordado no tópico Escalonamento do Gerenciamento de Transações .

Concorrência

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

Interop COM+

O tópico Interoperabilidade com Serviços Empresariais e Transações COM+ ilustra como você pode fazer com que suas transações distribuídas interajam com transações COM+.

Diagnósticos

Rastreamentos de Diagnóstico descrevem como você pode usar os códigos de rastreamento gerados pela System.Transactions infraestrutura para solucionar erros em seus aplicativos.

Trabalhando em ASP.NET

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