2011-02-22 74 views
1

我正在使用WebClient下载一个巨大的文件(700 + MB)。下载完成后,应用程序会自行关闭。我尝试过调试,但无法捕获任何东西。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")); 

    } 
} 

这是已知的错误吗?

+0

您是否尝试过尝试/抓住它并看看您是否抓到了什么? – JoshKraker 2011-02-22 20:12:52

+0

我做到了。正如我所说,我无法捕捉任何东西。该应用程序只是关闭自己。 – 2011-02-22 20:23:52

回答

1

我认为问题是,你必须声明去初始化之外wc变量。

WebClient wc; 

    public MainWindow() 
    { 
     InitializeComponent(); 

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

    } 
2

你要添加事件,像例如:

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!"); 
}