WebClient查询耗时太长,原因是
本文关键字:查询 WebClient | 更新日期: 2023-09-27 17:58:45
这是我的C#代码。
WebClient client = new WebClient();
while (true) {
html = client.DownloadString("http://google.com");
Console.WriteLine(string.Format("'tSize: {0}", html.Length));
}
大约需要9秒才能得到第一个结果。然后每个大约需要3秒。
当我用Java做这件事时,它只需要不到1秒的时间。
你觉得C#为什么这么慢?我该如何改进?
我注意到第一个请求使用WebClient或WebRequest总是需要很长时间。。。我用我构建的SocketHttp类执行同样的请求,而且不需要花费时间。
但在第一次请求后,它应该会更快,很好。
找到问题的修复程序
尝试显式设置代理。如果没有定义代理,HttpRequest类将花费时间搜索代理。一旦它找到了(或没有找到),它就会在应用程序的整个生命周期中使用这些信息,从而加快后续请求的速度。
设置request.Proxy = null;
您的网络可能有问题(如Mark注释所示)。