トランザクション アプリケーションの作成

トランザクション アプリケーションのプログラマは、System.Transactions 名前空間に用意されている 2 つのプログラミング モデルを活用して、トランザクションを作成できます。 Transaction クラスを使用した明示的なプログラミング モデルを使用できるほか、TransactionScope クラスを使用して、トランザクションが自動的にインフラストラクチャによって管理される暗黙的なプログラミング モデルも利用できます。 開発では、暗黙的なトランザクション モデルを使用することをお勧めします。 トランザクション スコープの使用方法については、「トランザクション スコープを使用した暗黙的なトランザクションの実装」のトピックを参照してください。

両モデルとも、プログラムが整合性の取れた状態に達した時点で、トランザクションのコミットをサポートします。 コミットが成功すると、トランザクションは永続的にコミットされます。 コミットが失敗すると、トランザクションは中止されます。 アプリケーション プログラムがトランザクションを完了できない場合は、トランザクションを中止してその処理内容を取り消すことを試みます。

このセクションの内容

トランザクションの作成

System.Transactions 名前空間には、トランザクションを作成する 2 つのモデルが用意されています。 これらのモデルは、以下のトピックで取り上げられています。

トランザクション スコープを使用した暗黙的なトランザクションの実装

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

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

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

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

トランザクションが別のアプリケーション ドメインにあるリソースにアクセスする必要がある場合、または別の永続的なリソース マネージャーに参加する場合は、トランザクションが MSDTC によって管理されるよう自動的にエスカレートされます。 トランザクションのエスカレーションの詳細については、「トランザクション管理のエスカレーション」のトピックを参照してください。

コンカレンシー

DependentTransaction によるコンカレンシーの管理」のトピックでは、DependentTransaction クラスを使用して、非同期タスク間でコンカレンシーを実現する方法について説明します。

COM+ 相互運用

Enterprise Services および COM+ トランザクションとの相互運用性」のトピックでは、分散トランザクションを COM+ トランザクションと連係させる方法について説明します。

診断

診断トレース」では、System.Transactions インフラストラクチャによって生成されるトレース コードを使用して、アプリケーションのエラーのトラブルシューティングを行う方法について説明します。

ASP.NET 内での使用

ASP.NET での System.Transactions の使用」のトピックでは、ASP.NET アプリケーション内で System.Transactions を正しく使用する方法について説明します。