У меня нет прямого ответа на ваш вопрос, но есть несколько вещей, которые я бы попробовал, чтобы посмотреть, смогу ли я определить проблему.
Во-первых, избавьтесь от асинхронного вызоваи просто позвоните DownloadFile
.Ошибка по-прежнему возникает?
Вызовите DownloadData
, чтобы получить данные в байтовом массиве, а затем сохраните файл.
Если сработает один или оба из вышеперечисленных, то я быскажем, что с вашим обработчиком событий DownloadDataCompleted
что-то не так, хотя причина, по которой он выбрасывает WebException
, мне не подходит.
О, еще одна вещь: вы уверены, что Path.GetFileName(DownloadLink)
возвращает действительный файлимя, а что у вас есть необходимые разрешения для записи файла в текущий каталог?