繁体   English   中英

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

[英]WebClient query takes too long to complete, why?

这是我的 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 总是需要很长时间......我使用我构建的 Socket-Http class 执行相同的请求,并且不需要时间。

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

找到解决问题的方法

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

设置request.Proxy = null;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM