ワークフロー内でのコントラクトの使用

このトピックの内容は、Windows Workflow Foundation 4 に該当します。

サービスを実装するときは、サービスおよびサービスが送受信するデータを説明する一連のコントラクトを定義します。データは、データ コントラクトとメッセージ コントラクトで表されます。WCF サービスもワークフロー サービスも、サービスの説明の一環として、データ コントラクトとメッセージ コントラクトの定義を使用します。サービス自体は、(WSDL の形で) メタデータを公開して、サービスの操作を説明します。WCF では、サービス コントラクトと操作コントラクトによって、サービスとサービスがサポートする操作を定義します。ただし、ワークフロー サービスでは、これらのコントラクトはビジネス プロセス自体の一部になり、コントラクト推論と呼ばれるプロセスによってメタデータとして公開されます。

コントラクト推論

ワークフロー サービスが WorkflowServiceHost を使用してホストされている場合は、ワークフローで見つかった一連のメッセージ アクティビティに基づいて、ワークフロー定義が確認され、コントラクトが生成されます。具体的には、次のアクティビティとプロパティが、コントラクトの生成に使用されます。

Receive アクティビティ

SendReply アクティビティ

TransactedReceiveScope アクティビティ

コントラクト推論の結果は、WCF サービスと操作コントラクトと同じデータ構造を使用するサービスの説明になります。この情報を使用して、ワークフロー サービス用に WSDL が公開されます。

Ee358741.note(ja-jp,VS.100).gif注 :
.NET Framework 4 では、ツール サポートを追加せずに、既存のコントラクト定義を使用してワークフロー サービスを記述することはできません。また、既存の WCF サービス コントラクトを使用してワークフロー サービスのコントラクトを生成することもできません。ワークフロー サービスのコントラクトは、前述のコントラクト推論プロセスによって作成されます。ただし、メッセージ コントラクトおよびデータ コントラクトは完全にサポートされます。

参照

処理手順

メッセージング アクティビティを使用してワークフロー サービスを作成する方法

概念

メッセージング アクティビティの使用

その他のリソース

ワークフロー サービス