Мой объект Background Worker вызывает событие «RunWorkerCompleted», когда цикл foreach в нем только что вернулся 1 раз, независимо от того, как долго цикл вращается после этого триггера, никогда не запускает его снова (я говорю о текущем сеансе),Почему он это делает?Как это исправить?
(ключевые слова "private async void" используются в фоновом событии DoWork, есть один цикл foreach, в этом цикле есть метод, запускаемый "await".)
Один пример;
private async void bgwCheckFiles_DoWork(object sender, DoWorkEventArgs e)
{
string a;
foreach (string s in lblist.Items) { a = await getMD5HashFromFile2(s); }
}
private void bgwCheckFiles_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{ MessageBox.Show("Process ended."); }
Когда этот код еще не завершен, система «Процесс завершен».давая это сообщение.