WFはキュー並列処理には最適ですね。
コマンドラインプログラムをいっちょ作って
こんな風にインスタンスをたたくように仕向けてください。
for (int i = 0; i < 3; i++)
{
Dictionary<string, object> param = new Dictionary<string, object>();
param.Add("KEY", i);
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowConsoleApplication1.Workflow1), param);
instance.Start();
}
Workflow1にKEYを追加
private int _KEY;
public int KEY
{
get { return _KEY; }
set { _KEY = value; }
}
WorkFlow1にCodeActivityを追加して
private void codeActivity1_ExecuteCode(object sender, EventArgs e)
{
for (int i = 0; i < 9999999; i++)
{
Console.WriteLine(this.KEY);
}
}
こんなコードを書きます。
んで実行すると、並行に処理がされていることが確認できると思います。
もちろんデリゲートでもいいんですが、サービスプログラム+WFなんかが一番いけそうな感じがします。