Перезапуск DoWork для фонового работника на основе результатов? - PullRequest
1 голос
/ 28 мая 2010

Допустим, у меня есть backgroundWorker1_DoWork, который находит значение в базе данных и возвращает его в e.Result. Допустим, у меня также есть backgroundWorker1_RunWorkerCompleted, который читает результат.

То, что я хочу сделать, основано на e.Result, я могу перезапустить backgroundWorker1_DoWork, и я не знаю, как это сделать.

Я бы очень признателен за любую помощь.

Ответы [ 2 ]

4 голосов
/ 28 мая 2010

Так же, как вы делаете это в первый раз - вызывая метод RunWorkerAsync :

backgroundWorker1.RunWorkerAsync();

Убедитесь, что вызов обусловлен, или этот цикл может выполняться вечно: -)

3 голосов
/ 28 мая 2010

Не можете ли вы перезапустить свой BackgroundWorker после тестирования e.Result в своем событии backgroundWorker1_RunWorkerCompleted?

...