ITransferProgress и отслеживание данных из вложений в MailKit
Ранее я задавал подобный вопрос: Как проверить количество отправленных / полученных данных в MailKit? но сейчас я говорю о другом.
У меня есть класс, который реализует ITransferProgress
интерфейс. В этом классе я отслеживаю передачу данных и вычисляю скорость. В моем sendMessage
Метод я создаю объект класса и скорость обновления в таблице каждую секунду:
ITransferProgressClass progress = new ITransferProgressClass();
//some code
progress.startTimer();
progress.SpeedCell = myRow.Cells[3];
client.Send(message, cancellationToken, progress);
progress.stopTimer();
И это работает очень хорошо. Я хочу сделать что-то подобное в downloadMessage
метод:
ITransferProgressClass progress = new ITransferProgressClass();
//some code
progress.startTimer();
progress.SpeedCell = myRow.Cells[3];
readyMessages.Add(client.Inbox.GetMessage(readySubjects[list[i]].UniqueId, cancellationToken, progress));
progress.stopTimer();
Но каждый тик таймер я получаю 0 значение. Зачем?
1 ответ
Решение
Процесс загрузки заканчивается, когда сообщение возвращается GetMessage()
, он не используется, когда вы перебираете вложения в цикле после вызова этого метода.