トランザクション アプリケーションの作成Writing a Transactional Application

トランザクション アプリケーションのプログラマは、System.Transactions 名前空間に用意されている 2 つのプログラミング モデルを活用して、トランザクションを作成できます。As a transactional application programmer, you can take advantage of the two programming models provided by the System.Transactions namespace to create a transaction. 使用して、明示的なプログラミング モデルを利用することができます、Transactionクラス、または暗黙的なプログラミング モデルでのトランザクションは自動的に管理のインフラストラクチャでを使用して、TransactionScopeクラス。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. 開発のため、暗黙のトランザクション モデルを使用することをお勧めします。We recommend that you use the implicit transaction model for development. トランザクション スコープの使用方法の詳細を見つけることができます、 Implementing an Implicit Transaction のトランザクション スコープを使用してトピック。You can find more information on how to use a transaction scope in the Implementing an Implicit Transaction using Transaction Scope topic.

両モデルとも、プログラムが整合性の取れた状態に達した時点で、トランザクションのコミットをサポートします。Both models support committing a transaction when the program reaches a consistent state. コミットが成功すると、トランザクションは永続的にコミットされます。If the commit succeeds, the transaction is durably committed. コミットが失敗すると、トランザクションは中止されます。If the commit fails, the transaction aborts. アプリケーション プログラムがトランザクションを完了できない場合は、トランザクションを中止してその処理内容を取り消すことを試みます。If the application program cannot successfully complete the transaction, it attempts to abort and undo the transaction's effects.

このセクションの内容In This Section

トランザクションの作成Creating a Transaction

System.Transactions 名前空間には、トランザクションを作成する 2 つのモデルが用意されています。The System.Transactions namespace provides two models for creating a transaction. これらのモデルは、以下のトピックで取り上げられています。These models are covered in the following topics.

トランザクション スコープを使用した暗黙的なトランザクションの実装Implementing an Implicit Transaction using Transaction Scope

System.Transactions 名前空間がサポートする、TransactionScope クラスを使用した暗黙的なトランザクションの作成について説明します。Describes how the System.Transactions namespace supports creating implicit transactions using the TransactionScope class.

CommittableTransaction を使用した明示的なトランザクションの実装Implementing an Explicit Transaction using CommittableTransaction

System.Transactions 名前空間がサポートする、CommittableTransaction クラスを使用した明示的なトランザクションの作成について説明します。Describes how the System.Transactions namespace supports creating explicit transactions using the CommittableTransaction class.

トランザクション管理のエスカレートEscalating Transaction Management

トランザクションが別のアプリケーション ドメインにあるリソースにアクセスする必要がある場合、または別の永続的なリソース マネージャーに参加する場合は、トランザクションが 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. トランザクションのエスカレーションの詳細については、 Transaction Management Escalationトピック。Transaction escalation is covered in the Transaction Management Escalation topic.

コンカレンシーConcurrency

トピックDependentTransaction による同時実行を管理するを使用して非同期タスク間の同時実行の実現方法を示します、DependentTransactionクラス。The topic Managing Concurrency with DependentTransaction demonstrates how concurrency can be achieved between asynchronous tasks by using the DependentTransaction class.

COM+ 相互運用COM+ Interop

トピックEnterprise Services および COM + トランザクションとの相互運用性分散トランザクションを COM + トランザクションとの対話を作成する方法を示しています。The topic Interoperability with Enterprise Services and COM+ Transactions illustrates how you can make your distributed transactions interact with COM+ transactions.

診断Diagnostics

診断トレースによって生成されるトレース コードを使用する方法について説明します、System.Transactionsインフラストラクチャ、アプリケーションでエラーをトラブルシューティングします。Diagnostic Traces describes how you can use the trace codes that are generated by the System.Transactions infrastructure to troubleshoot errors in your applications.

ASP.NET 内での使用Working within ASP.NET

Using System.Transactions in ASP.NETトピックでは、正常を使用する方法について説明しますSystem.TransactionsASP.NET アプリケーション内で。The Using System.Transactions in ASP.NET topic describes how you can successfully use System.Transactions inside an ASP.NET application.