这是我的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#这么慢?我该如何改进呢?
答案 0 :(得分:0)
我注意到第一个请求总是花费很长时间使用WebClient或WebRequest ... 我使用我构建的Socket-Http类执行相同的请求,并且不需要时间。
但是在第一次请求之后它应该更快,更好。
找到问题的解决方法
尝试明确设置代理。如果您没有定义代理,HttpRequest类将花费时间搜索一个。一旦它(或没有)找到一个,它将在应用程序的生命周期中使用该信息,从而加快后续请求。
设置request.Proxy = null;
答案 1 :(得分:-2)
您的网络可能存在问题(如Mark评论)。