首次调用WebClient.DownloadString大约需要15秒

时间:2012-05-12 23:54:26

标签: c# webclient

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秒,但重复调用需要花费大量时间。这是怎么发生的,我该如何解决?

2 个答案:

答案 0 :(得分:9)

可能会有一些事情会导致第一次通话延迟,例如检测代理设置。尝试将代理设置为null:

client.Proxy = null;

答案 1 :(得分:9)

您的计算机配置为执行自动代理检测。

你可以在这里禁用它:

Screenshot

或者,您可以手动覆盖WebClient使用的代理; null表示无代理:

client.Proxy = null;

但是,在这种情况下,您应该让用户在您的应用程序中配置代理,因为有些用户在访问Web时必须使用代理。