2

这是我单击更新按钮时的下载时间:

  • 第一次 = 5 秒
  • 第一次之后 = 2 秒

为什么第一次需要更多时间?如果没有wc.Proxy = null;第一次需要 2 分钟,还有什么可以减慢它的速度吗?

Stopwatch sw = new Stopwatch();
sw.Start();
using (WebClient wc = new WebClient())
{
    wc.Proxy = null;
    wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0");
    wc.DownloadFile("http://example.com/folder/file.txt",@"folder/files/file.txt");
}
sw.Stop();
4

1 回答 1

1

加速此过程的一个可能解决方案是缓存。如果您正在下载的文件/数据的性质是静态的,最好将它们缓存在您的网络/应用服务器上。

另一种解决方案是在不同的 UI 线程中触发下载过程,并且可以使用异步过程来释放您的 UI 线程,以避免冻结应用程序 UI。

以下是一些可能有用的参考资料:

于 2013-01-03T02:36:29.553 回答