.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); ...