次の方法で共有


永続的な遅延

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

このサンプルでは、永続的な遅延を使用する方法を示します。これは、遅延の間、ワークフローを永続的なデバイスに永続化する遅延のことです。このサンプル ワークフローには、遅延によって分割された 2 つのコンソールへのメッセージが含まれています。遅延が発生すると、ワークフローがアンロードされ、ワークフローはメモリに再読み込みされるまでワークフロー インスタンス ストアで 5 秒間待機します。

ワークフローの詳細

ワークフロー サービス ホストは、ワークフローをホストし、読み込みとアンロードを行うことによってワークフロー インスタンスを管理します。ワークフロー定義のインスタンスを開始するために、このサンプルでは、ワークフローの Receive アクティビティにメッセージを送信するプロキシを設定します。CanCreateInstance プロパティを true に設定し、このプロパティがメッセージを受信したらワークフローの新しいインスタンスを作成できるようにします。

初期化時のワークフロー サービス ホストによる設定の詳細を次に示します。

  1. アドレス (https://localhost:8080/Client) を持つサービス ホストを作成します。

  2. ワークフロー内で Receive アクティビティとの通信を可能にする、サービス ホストのエンドポイントを作成します。

  3. SQL インスタンス ストアを設定します。

  4. ワークフロー サービス ホストがワークフロー インスタンスを SQL 永続化ストアにアンロードする条件を指定する、インスタンスのアンロード動作を追加します。このサンプルでは、(遅延が発生して) ワークフローがアイドル状態になった直後にインスタンスがアンロードされます。

  5. ワークフローの Receive アクティビティにメッセージを送信するプロキシを作成します。

このサンプルを使用するには

  1. 永続性データベースを設定します。

    1. Visual Studio 2010 コマンド プロンプトを開きます。

    2. .NET Framework ディレクトリ (C:\Windows\Microsoft.NET\Framework\v4.X\) に移動します。

    3. WorkflowManagementService.exe.config ファイルを編集し、<database> 要素内に次の接続文字列を追加します。

      <database connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=DefaultSampleStore;Integrated Security=True;Asynchronous Processing=True" />
      
    4. DurableDelay\CS ディレクトリに移動します。

    5. Setup.cmd を実行します。

  2. Visual Studio 2010 アイコンを右クリックして [管理者として実行] をクリックし、昇格されたアクセス許可を使用して Visual Studio 2010 を実行します。

  3. Delay.sln ソリューション ファイルを開きます。

  4. F6 キーを押してソリューションをビルドします。

  5. Ctrl キーを押しながら F5 キーを押してソリューションを実行します。

このサンプルをアンインストールするには

  1. Visual Studio 2010 コマンド プロンプトを開きます。

  2. DurableDelay\CS ディレクトリに移動します。

  3. Cleanup.cmd を実行します。

Dd807379.Important(ja-jp,VS.100).gif 注 :
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。

<InstallDrive>:\WF_WCF_Samples

このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。

<InstallDrive>:\WF_WCF_Samples\WF\Basic\Services\DurableDelay