Partilhar 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ícita 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 no tópico Implementando uma transação implícita usando o escopo da transação.

Ambos os modelos suportam a confirmação de uma transação quando o programa atinge um estado consistente. Se a confirmação for bem-sucedida, a transação será comprometida de forma duradoura. 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á abortar e desfazer os efeitos da transação.

Nesta Secçã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 oferece 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.

Gerenciamento de transações em escalada

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

Simultaneidade

O tópico Gerenciando simultaneidade com DependentTransaction demonstra como a simultaneidade pode ser alcançada entre tarefas assíncronas usando a DependentTransaction classe.

COM+ Interoperabilidade

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óstico

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

Trabalhar em ASP.NET

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