Webサービスの負荷テストに使用しようとしてBackgroundWorker
います。コードは次のとおりです。
private void button1_Click(object sender, EventArgs e)
{
CheckWS("11111");
CheckWS("22222");
CheckWS("3344111");
// .. and some more of those, approx 1000
}
public void CheckWS(string sUser)
{
BackgroundWorker bgWork = new BackgroundWorker();
bgWork.DoWork += new DoWorkEventHandler(bgWork_DoWork);
sObject sData = new sObject();
sData.iNum = iCount++;
sData.sId = sUser;
bgWork.RunWorkerAsync(sData);
}
public void bgWork_DoWork(object sender, DoWorkEventArgs e)
{
// Update a textbox that this worker started
...
// Run a web service
...
// Update the textbox as worker ended
}
しかし、仕事にかかった時間と、ワーカーの出力(テキストボックスでのワーカーの開始と終了)によると、各ワーカーが開始するには時間がかかりすぎます-
すべてが同時に実行されることを期待しますが、代わりに、一度に2〜3のバックグラウンドワーカーしか実行しません...
この問題に関するアイデアはありますか?