[英]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.