Где моя ошибка?Я думаю, что все в порядке, но все же я вижу это исключение:
Exception {"Этот BackgroundWorker заявляет, что он не сообщает о прогрессе. Измените WorkerReportsProgress, чтобы указать, что он действительно сообщает о прогрессе."}. Исключение было выброшенов _worker.ReportProgress ((int) (progressPercentage * 100)).
Может кто-нибудь порекомендовать мне ftp-сервер с богатыми данными для тестовой загрузки и выгрузки?
Вот мой код:
this._worker = new BackgroundWorker();
this._worker.WorkerSupportsCancellation = true;
this._worker.WorkerSupportsCancellation = true;
this._worker.ProgressChanged += backgroundWorker1_ProgressChanged;
this._worker.DoWork += backgroundWorker1_DoWork;
using (FileStream fs = new FileStream(Path.Combine(this._ftpInfo.SaveDirectory, this._ftpInfo.FileName), FileMode.CreateNew, FileAccess.Write))
{
byte[] buffer = new byte[1024];
int len;
int byteTotal = 0;
while ((len = stream.Read(buffer, 0, buffer.Length)) > 0)
{
await fs.WriteAsync(buffer, 0, len);
byteTotal += len;
double index = (double)(byteTotal);
double total = (double)buffer.Length;
double progressPercentage = (index / total);
_worker.ReportProgress((int)(progressPercentage*100));
}
fs.Close();