ワークフロー サービスのアクティブ化

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

ワークフロー サービスが受信メッセージに応答するには、ワークフロー サービスがホストされている必要があります。ワークフロー サービスは WCF メッセージング インフラストラクチャを使用するため、これと似た方法でホストされます。WCF サービスと同様に、ワークフロー サービスは、インターネット インフォメーション サービス (IIS: Internet Information Services) または Windows プロセス アクティブ化サービス (WAS) の下で、任意のマネージ アプリケーションでホストできます。WCF サービスをホストするさまざまな方法詳細情報、「Hosting Services」を参照してください。

マネージ アプリケーションでのホスト

マネージ アプリケーションでワークフロー サービスをホストするには、WorkflowServiceHost クラスを使用します。WorkflowServiceHost コンストラクターにより、シングルトン ワークフロー サービス インスタンス、ワークフロー サービス定義、またはワークフロー メッセージング アクティビティを使用するアクティビティを指定できます。Open の呼び出しによって、サービスが受信メッセージのリッスンを開始します。

IIS または WAS の下でのホスト

IIS または WAS の下でワークフロー サービスをホストする場合は、仮想ディレクトリを作成し、サービスとその動作を定義するファイルをその仮想ディレクトリ内に配置します。IIS または WAS の下でワークフローをホストする場合は、いくつかの方法が考えられます。

  • ワークフロー サービスを定義する .xamlx ファイルを、サービス動作、エンドポイント、およびその他の構成要素を指定する Web.config ファイルと共に、IIS/WAS 仮想ディレクトリに配置します。

  • ワークフロー サービスを定義する .xamlx ファイルを IIS/WAS 仮想ディレクトリに配置します。この .xamlx ファイルで、公開するエンドポイントが指定されます。エンドポイントは、次の例に示すように、WorkflowService.Endpoints 要素で指定されます。

    <WorkflowService xmlns="https://schemas.microsoft.com/netfx/2009/xaml/servicemodel"  xmlns:p1="https://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
      <WorkflowService.Endpoints>
        <Endpoint ServiceContractName="IWorkFlowEchoService" AddressUri="">
          <Endpoint.Binding>
            <BasicHttpBinding />
          </Endpoint.Binding>
        </Endpoint>
      </WorkflowService.Endpoints>
    <!-- ... -->
    </WorkflowService>
    
    Ee358730.note(ja-jp,VS.100).gif注 :
    動作は .xamlx ファイルで指定できないため、動作設定を指定するには Web.config を使用する必要があります。

  • ワークフロー サービスを定義する .xamlx ファイルを IIS/WAS 仮想ディレクトリに配置します。さらに、.svc ファイルを仮想ディレクトリに配置します。.svc ファイルでは、カスタム Web サービス ホスト ファクトリの指定、カスタム動作の適用、またはカスタムの場所からの構成の読み込みが可能です。

  • WCF メッセージング アクティビティを使用するアクティビティを含むアセンブリを IIS/WAS 仮想ディレクトリに配置します。

ワークフロー サービスを定義する .xamlx ファイルには、<Service> ルート要素、または Activity から派生する型を含むルート要素が含まれている必要があります。Visual Studio 2010 アクティビティ テンプレートを使用する場合は、.xamlx ファイルが作成されます。When using the WCF ワークフロー サービス テンプレートを使用する場合は、.xamlx ファイルが作成されます。

カスタム アクティビティの参照

カスタム アクティビティの参照は、<System.Web.Compilation> の下の <Assemblies> セクションに追加する必要があります。これにより、この参照がアプリケーション ドメインに読み込まれ、XAML デシリアライザーが型を見つけることができます。これらの設定をコンピューター上のすべてのアプリケーションに適用する必要がある場合は、アプリケーション レベルまたはルートの Web.config で設定できます。

配置

配置作業を容易にするために、Web 配置ツールが作成されています。このツールを使用すると、アプリケーションの IIS 6.0 および IIS 7.0 間での移行や、サーバー ファームの同期のほか、Web アプリケーションのパッケージ化、アーカイブ、および配置を実行できます。詳細については、次のトピックを参照してください。 、MS 配置ツールを参照してください。

参照

その他のリソース

Declarative Activation of Services