Как использовать WebClient. DownloadDataAsync () метод в этом контексте?

При обновлении/удалении только одной записи mysql позволяет Вам поместить "ПРЕДЕЛ 1" в конец, таким образом, только одна запись повреждена даже когда, КОГДА пункт является неправильным.

17
задан Sergio Tapia 18 October 2009 в 20:44
поделиться

2 ответа

Вам необходимо обработать событие DownloadDataCompleted :

static void Main()
{
    string url = "http://google.com";
    WebClient client = new WebClient();
    client.DownloadDataCompleted += DownloadDataCompleted;
    client.DownloadDataAsync(new Uri(url));
    Console.ReadLine();
}

static void DownloadDataCompleted(object sender,
    DownloadDataCompletedEventArgs e)
{
    byte[] raw = e.Result;
    Console.WriteLine(raw.Length + " bytes received");
}

Аргументы содержат другие биты информации, относящиеся к ошибочным состояниям и т. Д. - проверьте и их.

Также обратите внимание, что вы войдете в DownloadDataCompleted в другом потоке; если вы находитесь в пользовательском интерфейсе (winform, wpf и т. д.), вам необходимо перейти к потоку пользовательского интерфейса перед обновлением пользовательского интерфейса. Из winforms используйте this.Invoke . Для WPF посмотрите Диспетчер .

29
ответ дан 30 November 2019 в 10:11
поделиться
static void Main(string[] args)
{
    byte[] data = null;
    WebClient client = new WebClient();
    client.DownloadDataCompleted += 
       delegate(object sender, DownloadDataCompletedEventArgs e)
       {
            data = e.Result;
       };
    Console.WriteLine("starting...");
    client.DownloadDataAsync(new Uri("http://stackoverflow.com/questions/"));
    while (client.IsBusy)
    {
         Console.WriteLine("\twaiting...");
         Thread.Sleep(100);
    }
    Console.WriteLine("done. {0} bytes received;", data.Length);
}
4
ответ дан 30 November 2019 в 10:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: