gpt4 book ai didi

c# - WebClient.DownloadFileAsync 真的这么慢吗?

转载 作者:太空狗 更新时间:2023-10-29 20:02:08 26 4
gpt4 key购买 nike

我正在使用 WebClientDownloadFileAsync 方法从服务器下载一些文件,在我对代码的非正式测试中我不禁注意到在 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,但我现在基本上是在重新学习它)。

最佳答案

除了 Nav 所说的之外,问题似乎是网络代理自动检测,请参阅此答案:Why is this WebRequest code slow?

我对其进行了测试,它现在可以在第一次调用时没有任何明显的延迟。

关于c# - WebClient.DownloadFileAsync 真的这么慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2972969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com