ワークフロー サービス ユーティリティ
このプロジェクトには、このセクションの他のサンプルで使用されるユーティリティがすべて含まれており、コンテキストの操作や、ローカル サービスのリスナ インフラストラクチャの作成などの機能を持ちます。このプロジェクトは、サンプルではありません。これは、ユーティリティ プロジェクトとして「双方向ワークフロー サービスのサンプル」および「電卓クライアントのサンプル」のサンプルで使用されます。
メモ : |
---|
このサンプルをビルドして実行するには、.NET Framework Version 3.5 をインストールする必要があります。Visual Studio 2008 では、プロジェクト ファイルとソリューション ファイルを開く必要があります。 |
このプロジェクトには、LocalWorkflowServiceHost
および ContextManager
という 2 つのヘルパー クラスが用意されています。
LocalWorkflowServiceHost
LocalWorkflowServiceHost
ヘルパー クラスによって、ローカル ホスト アプリケーションは、1 つの WorkflowService インスタンスと対話することができます。すべての対話は、サービス コントラクトを介したメッセージングを使用して行われます。ServiceHost 型は、localhost が提供するシングルトン サービスの実装のための ServiceHost と、ワークフロー サービスの実装のための WorkflowServiceHost を作成します。また、ローカル サービスとワークフロー サービスのローカル リスナ エンドポイントを自動的に作成して、通信を可能にします。ワークフローは、HostEndpoint
というクライアント エンドポイントを使用して localhost エンドポイントと通信できます。ローカル ホストは、CreateLocalChannel<T> を使用して、ワークフロー サービスへのチャネルを作成します。このクラスは、アプリケーションをシャットダウンして再起動できるように、1 つのワークフロー インスタンスのコンテキストを管理し、以前のワークフロー インスタンスを復元します。これは、ワークフロー インスタンスが永続的に格納されることを前提としています。
ContextManager
ContextManager
クラスには、コンテキストの操作に必要なすべてのヘルパー関数が用意されています。チャネルからのコンテキストの抽出、チャネルへのコンテキストの適用、および送信アクティビティへのエンドポイント アドレスの適用を行う関数があります。
これらのヘルパー クラスを利用するには、独自のソリューションでこのサンプルを使用します。
Copyright © 2007 by Microsoft Corporation.All rights reserved.