我正在使用WebClient的DownloadFileAsync方法从服务器下载一些文件,我不禁注意到在VS2010中对我的代码进行非正式测试时,它在启动时会阻塞大约3秒钟,在我的意见首先打败了目的.
以下是相关的代码片段:
WebClient downloader = new WebClient(); downloader.DownloadProgressChanged += new DownloadProgressChangedEventHandler(updateDownloadProgress); downloader.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(downloadCompleted); var current_map = map_downloads[0];//string with filename,map_downloads is List<string> var path = System.IO.Path.GetTempFileName(); downloaded_maps.Add(path);//adding the temp file to a List<string> downloader.DownloadFileAsync(new Uri(MAP_BASE + current_map),path); //MAP_BASE is a string containing the base url
我正在使用DownloadFileAsync来阻止UI在应用程序下载~100 MB文件时阻止.显然,如果UI在呼叫开始时阻塞了3秒,那么即使不完全,也会在一定程度上减少效用.
我对C#/ .Net相对缺乏经验(我在大约3 – 4年前做过一堆.Net 2.0的东西,IIRC,但我现在基本上重新学习它).