トランザクション モデル

この記事では、トランザクション プログラミング モデルと、マイクロソフトが提供するインフラストラクチャ コンポーネントとの関係を説明します。

Windows Communication Foundation (WCF) でトランザクションを使用する場合、選択するトランザクション モデルが異なるのではなく、統合され一貫した 1 つのモデルにおいて操作するレイヤーが異なるのだということを理解することが大切です。

以下に、3 つの主要なトランザクション コンポーネントについて説明します。

Windows Communication Foundation トランザクション

WCF でのトランザクションのサポートにより、トランザクション サービスを作成することができます。 さらに、WS-AtomicTransaction (WS-AT) プロトコルのサポートにより、アプリケーションでは、WCF またはサードパーティのテクノロジを使用して構築された Web サービスにトランザクションをフローさせることができます。

WCF サービスまたはアプリケーションでは、WCF トランザクション機能により、インフラストラクチャでトランザクションを作成、フロー、同期する方法と時期を宣言で指定するための属性と構成が提供されます。

System.Transactions トランザクション

System.Transactions 名前空間は、Transaction クラスに基づく明示的なプログラミング モデルだけでなく、インフラストラクチャがトランザクションを自動的に管理する、TransactionScope クラスを使用した暗黙的なプログラミング モデルも提供します。

この 2 つのモデルを使用してトランザクション アプリケーションを作成する方法の詳細については、トランザクション アプリケーションの作成に関するページを参照してください。

WCF サービスまたはアプリケーションでは、クライアント アプリケーション内にトランザクションを作成し、サービス内で必要な場合にトランザクションと明示的に対話するためのプログラミング モデルが System.Transactions により提供されます。

MSDTC トランザクション

Microsoft 分散トランザクション コーディネーター (MSDTC) は、分散トランザクションをサポートするトランザクション マネージャーです。

詳細については、「DTC プログラマ リファレンス」を参照してください。

WCF サービスまたはアプリケーションでは、MSDTC により、クライアントまたはサービス内で作成されたトランザクションを調整するためのインフラストラクチャが提供されます。