.NET 4.x Паралельная загрузка файлов webClient - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет, столкнулся с ошибкой при скачивании сразу 3 файлов.
Error: WebClient не поддерживает параллельные операции ввода-вывода
private void btInstall_Click(object sender, EventArgs e)
        {
            btInstall.Enabled = false;
            for (int i = dataGridView_Install.RowCount - 1; i >= 0; i--)
            {
                DataGridViewRow row = dataGridView_Install.Rows[i];
                if (Convert.ToBoolean(row.Cells["ChooseProgram"].Value)) //если наша ячейка выбрана true то мы её скачиваем 
                {
                    string url = (string)row.Cells[1].Value;//получаем информацию с ячейки txt
                    if (!string.IsNullOrEmpty(url))
                    {
                        Thread thread = new Thread(() =>
                        {
                            Uri uri = new Uri(url);
                            string filename = System.IO.Path.GetFileName(uri.AbsolutePath);
                            client.DownloadFileAsync(uri, Application.StartupPath + "/" + filename);
                        });
                        thread.Start();
                    }
                }
            }
            btInstall.Enabled = true;
        }
Искал здесь на форуме типичные темы, но по ним ничего не получилось. Такая же проблема оставалась.

Решение задачи: «.NET 4.x Паралельная загрузка файлов webClient»

textual
Листинг программы
...
var wc = new WebClient();
wc.DownloadFileAsync(uri, Application.StartupPath + "/" + filename);
...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы