WS-AtomicTransaction の使用
WS-AtomicTransaction (WS-AT) は、相互運用が可能なトランザクション プロトコルです。Web サービス メッセージを使用して分散トランザクションをフローできるようにすると共に、異種のトランザクション インフラストラクチャ間で相互運用できるように調整します。WS-AT では、2 フェーズ コミット プロトコルを使用して、分散アプリケーション、トランザクション マネージャ、およびリソース マネージャ間でアトミックな結果を実現します。
Windows Communication Foundation (WCF) で提供される WS-AT 実装には、Microsoft 分散トランザクション コーディネータ (MSDTC) トランザクション マネージャに組み込まれたプロトコル サービスが含まれています。WS-AT を使用することにより、WCF アプリケーションは、サードパーティのテクノロジを使用して構築された相互運用可能な Web サービスを含む、他のアプリケーションにトランザクションをフローさせることができます。
クライアント アプリケーションとサーバー アプリケーション間でトランザクションをフローさせるときに使用されるトランザクション プロトコルは、クライアントが選択したエンドポイントでサーバーが公開するバインディングによって決定されます。WCF システム指定のバインディングでは、トランザクションの伝達形式として既定で OleTransactions プロトコルを指定するものと、WS-AT を指定するものがあります。特定のバインディング内部でのトランザクション プロトコルの選択は、プログラムによって変更することもできます。
プロトコルの選択は、次の内容に影響を与えます。
- トランザクションをクライアントからサーバーにフローさせるために使用されるメッセージ ヘッダーの形式。
- トランザクションの結果を解決するために、クライアントのトランザクション マネージャとサーバーのトランザクション マネージャの間で 2 フェーズ コミット プロトコルを実行するために使用されるネットワーク プロトコル。
サーバーとクライアントが WCF を使用して記述されている場合、WS-AT を使用する必要はありません。その代わり、TransactionFlow 属性を有効にして NetTcpBinding の既定の設定を使用することにより、OleTransactions プロトコルを使用できます。詳細な情報については、次のページを参照してください。 「<netTcpBinding>」を参照してください。ただし、サードパーティのテクノロジで構築された Web サービスにトランザクションをフローさせる場合は、WS-AT を使用する必要があります。