Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Логирование работы потоков(BackgroundWorker)  [new]
Mixon
Member

Откуда:
Сообщений: 302
Добрый день!
Подскажите что я делаю не так?

Пишу программу под WinForm, дабы не тормозить основной поток создал класс с BackgroundWorker в котором крутится очередь со своими BackgroundWorker, на все эти BackgroundWorker"ы повешен один обработчик на ProgressChanged в котором я логирую работу, так вот ловлю исключение "Для этой операции уже вызван оператор OperationCompleted. Дальнейшие вызовы недопустимы." в очередной момент попытки записать данные в лог, подскажите в какую сторону копать?

Заранее спасибо за советы!
12 мар 19, 17:05    [21830527]     Ответить | Цитировать Сообщить модератору
 Re: Логирование работы потоков(BackgroundWorker)  [new]
Mixon
Member

Откуда:
Сообщений: 302
Крайне извиняюсь, нашел в чем косяк, из RunWorkerCompleted не стоит вызывать ReportProgress, только из DoWork
12 мар 19, 17:07    [21830531]     Ответить | Цитировать Сообщить модератору
 Re: Логирование работы потоков(BackgroundWorker)  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37070
Mixon
попытки записать данные в лог
наверно не в лог, а прогресс бар.
12 мар 19, 17:13    [21830538]     Ответить | Цитировать Сообщить модератору
 Re: Логирование работы потоков(BackgroundWorker)  [new]
PinkCat
Member

Откуда:
Сообщений: 2320
Mixon,

Крайне извиняюсь, нашел в чем косяк, из RunWorkerCompleted не стоит вызывать ReportProgress, только из DoWork
-----
​Без разницы откуда его вызывать - это просто метод в инстансе другого класса - надо проверять живой ли Воркер.
12 мар 19, 18:11    [21830623]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить