WebClient закрыть приложение после завершения загрузки - PullRequest
1 голос
/ 22 февраля 2011

Я загружаю огромный файл (700+ МБ) с помощью WebClient.Когда загрузка завершится, приложение просто закроется.Я попробовал отладку, но ничего не могу перехватить.

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        var wc = new WebClient();
        wc.DownloadDataAsync(new Uri(@"http://192.168.1.100/FileServer/crypto.bin"));

    }
}

Это известная ошибка?

Ответы [ 2 ]

2 голосов
/ 22 февраля 2011

Вы должны добавить событие, например, например:

Private void btnDownload_Click(object sender, EventArgs e)
{
  WebClient webClient = new WebClient();
  webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
  webClient.DownloadFileAsync(new Uri("http://mysite.com/myfile.txt"), @"c:\myfile.txt");
}

private void Completed(object sender, AsyncCompletedEventArgs e)
{
  MessageBox.Show("Download completed!");
}
1 голос
/ 23 февраля 2011

Мне кажется, проблема в том, что вы должны объявить переменную de wc вне инициализатора.

    WebClient wc;

    public MainWindow()
    {
        InitializeComponent();

        wc = new WebClient();
        wc.DownloadDataAsync(new Uri(@"http://192.168.1.100/FileServer/crypto.bin"));

    }
...