Я неофит при поточной передаче C#. Я пытаюсь получить мою голову вокруг, как сделать 100K веб-запросов, с некоторой степенью параллельности, и сообщать о ходе реального времени с графическим интерфейсом:Конкретный рабочий пример, необходимый с использованием интерфейса IProgress, описанного Albahari
urls processed so far: ######
total moved so far: ######
timed out so far: ####3
Я читал стр 596ff в C# 5.0 в a Nutshell братьями Альбахари, раздел «Отчет о прогрессе». На этом этапе я не вижу, как в экземпляре Progress эти счетчики будут увеличиваться поточно-безопасным образом и точно, как/где пользовательский интерфейс будет обновляться. EVEN в этом примере специально обсуждает различия между написанием на консоль и написанием в GUI, книга использует Console.WriteLine
. Я был бы признателен за пример, показывающий, что происходит в экземпляре Progress - например, приращение некоторых переменных int и запись в текстовое поле.
В вашем GUI есть «SynchronizationContext», где вы можете публиковать обновления своего пользовательского интерфейса. Можете ли вы указать, какой код у вас уже есть? –