Может ли Backgroundworker продолжить работу, когда достигнет обработчика событий «... Completed» - PullRequest
2 голосов
/ 25 апреля 2010

как описано в заголовке. Мой фоновый работник делает свою работу ... заканчивает первый part and вызывает ... Обработчик события завершен. Могу ли я сказать своему фоновому специалисту, что нужно продолжить работу, выполнив DoWork - = OldJob DoWork + = NewJob

также DoWorkCompleted - = OldJobCompleted DoWorkCompleted + = NewJobCompleted

Возможно ли это?

Ответы [ 2 ]

2 голосов
/ 25 апреля 2010

Да, вы можете перезапустить его после его завершения. И вы могли бы сначала подключить другой DoWork.

Но вы не должны.

BGW выполняется в ThreadPool, поэтому нет необходимости повторно использовать поток. Так что избегайте путаницы и просто создайте отдельных специалистов по фону для различных задач.

1 голос
/ 25 апреля 2010

Я не пробовал раньше, но думаю, это сработает. Разве вам не нужно менять обработчик событий для ProgressChanged и RunWorkerCompleted тоже?

Я думаю, что было бы намного проще просто создать двух фоновых работников. Или, если задания очень похожи, вы можете параметризовать существующего фонового работника для выполнения обеих задач.

...