Подтвердить что ты не робот

"Исключение произошло во время запроса WebClient" при использовании С# ASP.NET

Итак, я создал программу автоматического обновления для своей программы.

Используемый здесь код:

new WebClient().DownloadFile("XXXX", checkingfolder.SelectedPath);

XXX - это мой веб-сервер, который работает как сервер VPS в verio, с новейшим IIS и всем.

Когда пользователь нажимает кнопку загрузки, он говорит:

'An exception occurred during a WebClient request.

Дело в том, что я даже не знаю почему - я просто пытаюсь поймать.

Кто-нибудь может понять, почему это произошло?

Спасибо за любую помощь, которую вы мне дадите, вы не представляете, насколько вы мне помогаете - спасибо еще раз!

4b9b3361

Ответ 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 символов проблема исчезла.