string url = "http://google.com/index.html";
WebClient client = new WebClient();
Stopwatch sw = new Stopwatch();
sw.Start();
string text = client.DownloadString(url);
sw.Stop();
Console.WriteLine(sw.Elapsed);
秒表说DownloadString
方法在第一次调用时需要13-15秒,但重复调用需要花费大量时间。这是怎么发生的,我该如何解决?
答案 0 :(得分:9)
可能会有一些事情会导致第一次通话延迟,例如检测代理设置。尝试将代理设置为null:
client.Proxy = null;
答案 1 :(得分:9)
您的计算机配置为执行自动代理检测。
你可以在这里禁用它:
或者,您可以手动覆盖WebClient使用的代理; null
表示无代理:
client.Proxy = null;
但是,在这种情况下,您应该让用户在您的应用程序中配置代理,因为有些用户在访问Web时必须使用代理。