次の方法で共有


WS-AtomicTransaction の使用

WS-AtomicTransaction (WS-AT) は相互運用可能なトランザクション プロトコルです。 これにより、Web サービス メッセージを使用して分散トランザクションをフローし、異種トランザクション インフラストラクチャ間で相互運用可能な方法で調整できます。 WS-AT では、2 フェーズ コミット プロトコルを使用して、分散アプリケーション、トランザクション マネージャー、およびリソース マネージャーの間でアトミックな結果を促進します。

WS-AT 実装 Windows Communication Foundation (WCF) には、Microsoft 分散トランザクション コーディネーター (MSDTC) トランザクション マネージャーに組み込まれているプロトコル サービスが含まれています。 WS-AT を使用すると、WCF アプリケーションは、サードパーティのテクノロジを使用して構築された相互運用可能な Web サービスなど、他のアプリケーションにトランザクションをフローできます。

クライアント アプリケーションとサーバー アプリケーションの間でトランザクションをフローする場合、使用されるトランザクション プロトコルは、クライアントが選択したエンドポイントでサーバーが公開するバインディングによって決まります。 WCF システム提供のバインディングの中には、既定でトランザクション伝達形式として OleTransactions プロトコルを指定するものもあれば、WS-AT を既定で指定するバインディングもあります。 また、特定のバインディング内のトランザクション プロトコルの選択をプログラムで変更することもできます。

プロトコルの選択が影響を与える要素は次の通りです。

  • クライアントからサーバーへのトランザクションのフローに使用されるメッセージ ヘッダーの形式。

  • トランザクションの結果を解決するために、クライアントのトランザクション マネージャーとサーバーのトランザクションの間で 2 フェーズ コミット プロトコルを実行するために使用されるネットワーク プロトコル。

サーバーとクライアントが WCF を使用して記述されている場合は、WS-AT を使用する必要はありません。 代わりに、NetTcpBinding属性が有効になっているTransactionFlowの既定の設定を使用できます。この設定では、代わりに OleTransactions プロトコルが使用されます。 詳細については、「 <netTcpBinding>」を参照してください。 それ以外の場合は、サードパーティのテクノロジに基づいて構築された Web サービスにトランザクションをフローする場合は、WS-AT を使用する必要があります。

こちらも参照ください