Escrever um aplicativo transacionalWriting a Transactional Application

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.As a transactional application programmer, you can take advantage of the two programming models provided by the System.Transactions namespace to create a transaction. Você pode utilizar o modelo de programação explícito usando a Transaction classe ou o modelo de programação implícito no qual as transações são gerenciadas automaticamente pela infraestrutura, usando a TransactionScope classe.You can utilize the explicit programming model by using the Transaction class, or the implicit programming model in which transactions are automatically managed by the infrastructure, by using the TransactionScope class. Recomendamos que você use o modelo de transação implícita para desenvolvimento.We recommend that you use the implicit transaction model for development. Você pode encontrar mais informações sobre como usar um escopo de transação no tópico implementando uma transação implícita usando escopo de transação .You can find more information on how to use a transaction scope in the Implementing an Implicit Transaction using Transaction Scope topic.

Ambos os modelos dão suporte a confirmar uma transação quando o programa atingir um estado consistente.Both models support committing a transaction when the program reaches a consistent state. Se a confirmação for bem-sucedida, a transação é permanentemente confirmada.If the commit succeeds, the transaction is durably committed. Se a confirmação falhar, a transação é anulada.If the commit fails, the transaction aborts. Se o programa de aplicativo não puder concluir com êxito a transação, ele tenta cancelar e desfazer os efeitos da transação.If the application program cannot successfully complete the transaction, it attempts to abort and undo the transaction's effects.

Nesta seçãoIn This Section

Criando uma transaçãoCreating a Transaction

O System.Transactions namespace fornece dois modelos para a criação de uma transação.The System.Transactions namespace provides two models for creating a transaction. Esses modelos são abordados nos tópicos a seguir.These models are covered in the following topics.

Implementando uma transação implícita, usando o escopo da transaçãoImplementing an Implicit Transaction using Transaction Scope

Descreve como o System.Transactions namespace oferece suporte à criação de transações implícitas usando o TransactionScope classe.Describes how the System.Transactions namespace supports creating implicit transactions using the TransactionScope class.

Implementando uma transação explícita usando CommittableTransactionImplementing an Explicit Transaction using CommittableTransaction

Descreve como o System.Transactions namespace oferece suporte à criação de transações explícitas usando o CommittableTransaction classe.Describes how the System.Transactions namespace supports creating explicit transactions using the CommittableTransaction class.

Cada vez maiores de gerenciamento de transaçõesEscalating Transaction Management

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.When a transaction needs to access a resource in another application domain, or if you want to enlist in another durable resource manager, the transaction is automatically escalated to be managed by the MSDTC. O escalonamento de transações é abordado no tópico escalonamento de gerenciamento de transações .Transaction escalation is covered in the Transaction Management Escalation topic.

ConcorrênciaConcurrency

O tópico Gerenciando a simultaneidade com o DependentTransaction demonstra como a simultaneidade pode ser obtida DependentTransaction entre tarefas assíncronas usando a classe.The topic Managing Concurrency with DependentTransaction demonstrates how concurrency can be achieved between asynchronous tasks by using the DependentTransaction class.

Interoperabilidade do COM+COM+ Interop

O tópico interoperabilidade com os serviços corporativos e as transações com+ ilustra como você pode fazer com que suas transações distribuídas interajam com transações com+.The topic Interoperability with Enterprise Services and COM+ Transactions illustrates how you can make your distributed transactions interact with COM+ transactions.

DiagnósticoDiagnostics

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.Diagnostic Traces describes how you can use the trace codes that are generated by the System.Transactions infrastructure to troubleshoot errors in your applications.

Trabalhando no ASP.NETWorking within ASP.NET

O tópico usando System. Transactions no ASP.net descreve como você pode usar System.Transactions com êxito dentro de um aplicativo ASP.net.The Using System.Transactions in ASP.NET topic describes how you can successfully use System.Transactions inside an ASP.NET application.