永続的な遅延
このトピックの内容は、Windows Workflow Foundation 4 に該当します。
このサンプルでは、永続的な遅延を使用する方法を示します。これは、遅延の間、ワークフローを永続的なデバイスに永続化する遅延のことです。このサンプル ワークフローには、遅延によって分割された 2 つのコンソールへのメッセージが含まれています。遅延が発生すると、ワークフローがアンロードされ、ワークフローはメモリに再読み込みされるまでワークフロー インスタンス ストアで 5 秒間待機します。
ワークフローの詳細
ワークフロー サービス ホストは、ワークフローをホストし、読み込みとアンロードを行うことによってワークフロー インスタンスを管理します。ワークフロー定義のインスタンスを開始するために、このサンプルでは、ワークフローの Receive アクティビティにメッセージを送信するプロキシを設定します。CanCreateInstance プロパティを true に設定し、このプロパティがメッセージを受信したらワークフローの新しいインスタンスを作成できるようにします。
初期化時のワークフロー サービス ホストによる設定の詳細を次に示します。
アドレス (https://localhost:8080/Client) を持つサービス ホストを作成します。
ワークフロー内で Receive アクティビティとの通信を可能にする、サービス ホストのエンドポイントを作成します。
SQL インスタンス ストアを設定します。
ワークフロー サービス ホストがワークフロー インスタンスを SQL 永続化ストアにアンロードする条件を指定する、インスタンスのアンロード動作を追加します。このサンプルでは、(遅延が発生して) ワークフローがアイドル状態になった直後にインスタンスがアンロードされます。
ワークフローの Receive アクティビティにメッセージを送信するプロキシを作成します。
このサンプルを使用するには
永続性データベースを設定します。
Visual Studio 2010 コマンド プロンプトを開きます。
.NET Framework ディレクトリ (C:\Windows\Microsoft.NET\Framework\v4.X\) に移動します。
WorkflowManagementService.exe.config ファイルを編集し、<database> 要素内に次の接続文字列を追加します。
<database connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=DefaultSampleStore;Integrated Security=True;Asynchronous Processing=True" />
DurableDelay\CS ディレクトリに移動します。
Setup.cmd を実行します。
Visual Studio 2010 アイコンを右クリックして [管理者として実行] をクリックし、昇格されたアクセス許可を使用して Visual Studio 2010 を実行します。
Delay.sln ソリューション ファイルを開きます。
F6 キーを押してソリューションをビルドします。
Ctrl キーを押しながら F5 キーを押してソリューションを実行します。
このサンプルをアンインストールするには
Visual Studio 2010 コマンド プロンプトを開きます。
DurableDelay\CS ディレクトリに移動します。
Cleanup.cmd を実行します。
注 : |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<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
|