"Исключение произошло во время запроса WebClient" при использовании С# ASP.NET
Итак, я создал программу автоматического обновления для своей программы.
Используемый здесь код:
new WebClient().DownloadFile("XXXX", checkingfolder.SelectedPath);
XXX - это мой веб-сервер, который работает как сервер VPS в verio, с новейшим IIS и всем.
Когда пользователь нажимает кнопку загрузки, он говорит:
'An exception occurred during a WebClient request.
Дело в том, что я даже не знаю почему - я просто пытаюсь поймать.
Кто-нибудь может понять, почему это произошло?
Спасибо за любую помощь, которую вы мне дадите, вы не представляете, насколько вы мне помогаете - спасибо еще раз!
Ответы
Ответ 1
Я могу воспроизвести это, если я укажу, как кажется в вашем примере, имя папки, а не имя . Вместо этого укажите файл.
В стороне; если я посмотрю на InnerException
, он говорит мне, что проблема связана с файловым путем:
using(var client = new WebClient())
{
try
{
client.DownloadFile(
"http://stackoverflow.com/questions/8033619/an-exception-occurred-durning-a-webclient-request-c-sharp-asp-net/8033687#8033687",
@"j:\MyPath");
}
catch (Exception ex)
{
while (ex != null)
{
Console.WriteLine(ex.Message);
ex = ex.InnerException;
}
}
}
Что дает:
An exception occurred during a WebClient request.
Access to the path 'j:\MyPath' is denied.
Если я изменю его на файл, он отлично работает:
client.DownloadFile(
"http://stackoverflow.com/questions/8033619/an-exception-occurred-durning-a-webclient-request-c-sharp-asp-net/8033687#8033687",
@"j:\MyPath\a.html");
Ответ 2
Иногда эта ошибка может возникать, когда другой класс или процесс обращается к только что загруженному файлу.
Ответ 3
он дает исключение, если путь к каталогу не существует.
например, путь @"j:\Folder\SubFolder\123.pdf
и SubFolder не существует, он будет генерировать исключение.
Ответ 4
Я столкнулся с этой ошибкой, когда пытался загрузить файл, где результирующий загруженный путь к файлу был бы длиннее некоторого произвольного предела
После изменения имени пути к файлу длиной 250 символов проблема исчезла.