Иногда я получаю исключение, что мой BackgroundWorker уже запущен после проверки его состояния методом IsBusy.
Код:
if(!_worker.IsBusy)
_worker.RunWorkerAsync(stateObj); //<-- exception is thrown here
Я никогда не звоню рабочему из других мест, поэтому я не знаю, как с этим справиться. Должен ли я просто игнорировать это? Или он сам себя называет?
(например.)
void CallWorker(object stateObj)
{
try
{
if(!_worker.IsBusy)
_worker.RunWorkerAsync(stateObj);
}
catch (Exception e)
{
//ignore OR
//CallWorker(stateObj);
}
}