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

4

2 回答 2

9

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

client.Proxy = null;
于 2012-05-13T00:09:20.163 回答
9

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

您可以在此处禁用它:

截屏

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

client.Proxy = null;

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

于 2012-05-13T00:09:49.363 回答