Webclient启动时速度慢

时间:2013-01-03 02:04:03

标签: c# winforms performance download webclient

以下是点击更新按钮时的下载时间:

  • 第一次= 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();

1 个答案:

答案 0 :(得分:1)

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

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

这里有一些可能有用的参考资料: