2011-02-22 77 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!"); 
}