ワークフロー スレッド処理のサンプル
このサンプルでは、ワークフロー実行に、手動によるスレッド処理モデルを使用する場合と、既定の CLR (共通言語ランタイム) を使用する場合の違いについて示します。ワークフロー内で DelayActivity アクティビティを使用したときのスレッド処理への影響を示します。
このサンプルは、アプリケーション内でホストとワークフローを実行するために、複数のスレッド処理を使用する代わりに、1 つのスレッド処理を使用した場合の違いを示す目的でデザインされたコンソール アプリケーションです。
このアプリケーションでは、使用するスレッド サービスによって、ワークフロー インスタンスの実行動作がどのように異なるのかを示します。実行にホスト スレッドを利用するために使用するスレッド サービスは、ManualWorkflowSchedulerService です。
ThreadMonitor クラスの目的は、各スレッドをそれぞれ異なる色で出力することです。
サンプルをビルドするには
[サンプルのダウンロード] をクリックしてサンプルをダウンロードします。
サンプル プロジェクトがローカル コンピュータのハード ディスクにダウンロードされます。
[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします。
サンプルのソース ディレクトリに移動します。
コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。
サンプルを実行するには
- SDK コマンド プロンプト ウィンドウで、WorkflowThreading\bin\debug フォルダ (このサンプルの VB バージョンでは WorkflowThreading\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、メイン フォルダの下にあります)。
解説
このサンプルの構文は次のとおりです。
WorkflowThreading.exe [Single | Multi] [Delay | WaitForMessage]
パラメータ | 動作 |
---|---|
Single |
ホスト アプリケーションと同じスレッドを使用してワークフローを実行します。 |
Multi |
ホスト アプリケーションとは異なるスレッドを使用してワークフローを実行します。 |
Delay |
ワークフローの実行パスに遅延を組み込みます。これにより、タイマの実行がトリガされます。 |
WaitForMessage |
ワークフローの実行パスにイベントを組み込みます。これにより、ワークフロー インスタンスがアイドル状態になり、実行の制御がホスト アプリケーションに戻ります。 |
関連項目
参照
DelayActivity
ManualWorkflowSchedulerService
DefaultWorkflowSchedulerService
その他の技術情報
Copyright © 2007 by Microsoft Corporation.All rights reserved.