我正在使用
以下是相关的代码片段:
我正在使用
我对C#/.Net相对不太熟悉(我大约3-4年前做过一些.Net 2.0的东西,但现在基本上是重新学习)。
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
方法来下载一个大约100MB的文件,以避免UI被阻塞。显然,如果在调用开始时UI被阻塞了3秒钟,那么这种方法的效用会大大降低,甚至完全失效。我对C#/.Net相对不太熟悉(我大约3-4年前做过一些.Net 2.0的东西,但现在基本上是重新学习)。