WebClient查询需要很长时间才能完成,为什么?

时间:2011-06-07 07:56:08

标签: c# visual-studio

这是我的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#这么慢?我该如何改进呢?

2 个答案:

答案 0 :(得分:0)

我注意到第一个请求总是花费很长时间使用WebClient或WebRequest ... 我使用我构建的Socket-Http类执行相同的请求,并且不需要时间。

但是在第一次请求之后它应该更快,更好。

找到问题的解决方法

尝试明确设置代理。如果您没有定义代理,HttpRequest类将花费时间搜索一个。一旦它(或没有)找到一个,它将在应用程序的生命周期中使用该信息,从而加快后续请求。

设置request.Proxy = null;

答案 1 :(得分:-2)

您的网络可能存在问题(如Mark评论)。