複数のタスクを生成する wcf サービスがあります。各タスクが情報を親スレッドに返す方法を探しています (そして最終的にはデータ コントラクトを介してクライアントに)
行う作業は別のクラスです。メインクラスでは、次のようにタスクを開始しています。
CancellationTokenSource tokenSource = new CancellationTokenSource();
CancellationToken token = tokenSource.Token;
Task[] arrTask = new Task[lstTasks.Count];
int i = 0;
foreach(LabParser classA in lstTasks)
{
try
{
var t = Task.Factory.StartNew(clsa.ProcessLabs,token);
arrTask[i] = t;
i++;
}
catch (Exception e)
{
string tmp = e.ToString();
}
}
Task.WaitAll(arrTask);
そのため、classA.ProcessLabs ではかなりの作業を行っています。この親に、スレッドの現在のステータスに関する情報をメッセージで送り返すことができるようにしたいと考えています。私は、デリゲートとイベントを使用してイベントを発生させるvbでこれを行うことに慣れています。C# でこれを行う同等の方法が見つからないようです。