次の方法で共有


ワークフロー サービスのホスティング

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

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

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

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

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

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

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

    <WorkflowService xmlns="http://schemas.microsoft.com/netfx/2009/xaml/servicemodel"  xmlns:p1="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
      <WorkflowService.Endpoints>
        <Endpoint ServiceContractName="IWorkFlowEchoService" AddressUri="">
          <Endpoint.Binding>
            <BasicHttpBinding />
          </Endpoint.Binding>
        </Endpoint>
      </WorkflowService.Endpoints>
    <!-- ... -->
    </WorkflowService>
    

    Note

    動作は .xamlx ファイルで指定できないため、動作設定を指定するには Web.config を使用する必要があります。

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

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

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

Windows Server AppFabric でのワークフロー サービスのホスティング

Windows Server AppFabric でのワークフロー サービスのホスティングは IIS/WAS でのホスティングと同じ方法で行われます。 唯一の違いは、Windows Server AppFabric がインストールされるということです。 Windows Server AppFabric には、PowerShell コマンドレットと同様に、インターネット インフォメーション サービス マネージャーに追加されるツールが用意されています。 これらのツールによって、ワークフロー サービスおよび WCF サービスの配置、管理、および追跡を簡略化することができます。

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

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

デプロイ

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

関連項目