исключение во время запроса Webclient как исправить

Почему я получаю pingexception? – c#

Все это работало час назад и много дней назад. Ссылка, которую я пытаюсь пинговать:

Ссылка на пинг

Это код в форме 1:

nc = new NetworkConnection();
bool bval = nc.PingConnection(satellite_address);

if (bval)
{
    label19.Visible = true;
    label19.Text = "Internet Access";
}
else
{
    label19.Visible = true;
    label19.Text = "No Internet Access";
}

Когда он пытается выполнить эту строку:

bool bval = nc.PingConnection(satellite_address);

Это идет к nc учебный класс:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.IO;
using System.Windows.Forms;

namespace mws
{
    class NetworkConnection
    {
        public NetworkConnection()
        {    
        }

        public bool PingConnection(string url)
        {
            bool Result = false;

            using (Ping pp = new Ping())
            {
                byte[] buffer = Encoding.ASCII.GetBytes("samplestring");
                int timeout = 120;

                try
                {
                    PingReply reply = pp.Send(url, timeout, buffer);
                    if (reply.Status == IPStatus.Success)
                        Result = true;
                }
                catch (Exception)
                {
                    Result = false;
                }
            }
            return Result;
        }
    }
}

В классе nc при попытке сделать строку:

PingReply reply = pp.Send(url, timeout, buffer);

Он переходит на блок catch и выдает исключение PingException:

Исключение произошло во время запроса Ping

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

Это полное сообщение об исключении:

  System.Net.NetworkInformation.PingException was caught
  HResult=-2146233079
  Message=An exception occurred during a Ping request.
  Source=System
  StackTrace:
       at System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout, Byte[] buffer, PingOptions options)
       at System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout, Byte[] buffer)
       at mws.NetworkConnection.PingConnection(String url) in d:C-SharpDownload FileDownloading-File-Project-Version-012Downloading FileNetworkConnection.cs:line 33
  InnerException: System.Net.Sockets.SocketException
       HResult=-2147467259
       Message=No such host is known
       Source=System
       ErrorCode=11001
       NativeErrorCode=11001
       StackTrace:
            at System.Net.Dns.GetAddrInfo(String name)
            at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
            at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
            at System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout, Byte[] buffer, PingOptions options)
       InnerException:

Строка 33:

PingReply reply = pp.Send(url, timeout, buffer);

Что может быть причиной появления этого исключения? это никогда не появлялось раньше, моя программа работает уже несколько лет.

:/>  Как русифицировать Windows 10

И что или как мне с этим справиться?

«произошло исключение во время запроса webclient» при использовании c# asp.net

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

Код, который работает здесь:

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

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

6 ответов

Я могу воспроизвести это, если укажу, как кажется, в вашем примере, имя папки, а не имя файла назначения. Вместо этого укажите имя файла.

Если я изменю его на файл, он будет работать нормально:

Иногда эта ошибка может возникать, когда другой класс или процесс получает доступ к только что загруженному файлу.

Это дает исключение, если каталог к ​​пути не существует.

Я столкнулся с этой ошибкой, когда пытался загрузить файл, где полученный путь к загруженному файлу был бы длиннее произвольного ограничения

После изменения пути к загруженному файлу длиной 250 символов проблема исчезла

Если Каталог не существует, это сообщение об ошибке появляется как «Возникла исключительная ситуация во время запроса WebClient», поскольку веб-клиент не находит папку для хранения загруженных файлов.

Помимо других ответов, имейте в виду, что такое же исключение WebException может также возникнуть, если клиентскому процессу не требуется разрешение на создание выходного файла.

Я бы предложил вам принять следующую стратегию:

Источник

Исключение во время запроса webclient как исправить

Сообщения: 4Благодарности: 0

Не очень бы хотелось его светить, но сделал аналогичный список для нескольких картинок. Точно так же не работает, что, впрочем, не удивительно smile

UP: Запустил на другой машине, заработало. Оказалось, было недостаточно прав.

Исключение во время запроса webclient при скачивании файла

Помощь в написании контрольных, курсовых и дипломных работ здесь.

:/>  Как почистить компьютер: 5 мега эффективных способа

Исключение во время запроса WebclientДоброе время суток. Суть проблемы такова, при попытке скачивания появляется ошибка «исключение во.

Как справляться с исключениями при использовании webclient.downloadfileasync

Я загружаю некоторые файлы из Интернета с помощью WebClient следующим образом:

Но я не могу передать ошибку из моего анонимного метода DownloadFileCompleted до моего основного catch. Каков правильный способ сделать это?

Обработка исключения на месте

Вы также можете просто создать некоторый метод, который будет обрабатывать исключение как во внешнем try-catch, так и в загруженном обработчике:

Плохое решение с ретрованием

Вы можете сохранить исключение в некоторой переменной, определенной за пределами лямбда. Затем его можно сбросить:

Почему это плохо? Поскольку вы потеряете stacktrace (он покажет, что исключение было выбрано в текущем методе, а не в WebClient). Тем не менее, если вам не нужно или не заботится о stacktrace, возможно решение.

Правильное выполнение

Такие методы удобны в некотором смысле, но они заставляют вас использовать подпольные решения с конструкциями синхронизации, чтобы сделать рабочий процесс менее зависимым от разных обратных вызовов.

Он будет работать, но я не уверен, что DownloadDataTaskAsync – это истинный метод асинхронного программирования.

2. Таким образом, вы также можете использовать Continuations тем же способом:

Что вы можете сделать, так это создать задачу (операцию async) и использовать директиву ContinueWith для обработки исключения. Это может быть немного нечитаемым

Вы должны использовать await и DownloadFileTaskAsync :

Источник

Скачивание игры. исключение во время запроса webclient

Я пытаюсь реализовать в лаунчере скачивание игр, вот что вышло на эту тему:

Именно в i . Пишет Исключение во время запроса WebClient.

Добавлено через 40 минутПереписал чуть

Скачало 596 файлов, дальше опять та же ошибка, в массиве всё так же, не знаю почему.

:/>  Для чего нужен доступ к спец. возможностям? AllTracker - Knowledge Base

Добавлено через 1 минутуВот 597 файл

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Оставьте комментарий

Adblock
detector