首次调用WebClient.DownloadString大约需要15秒
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秒,但重复调用需要花费大量时间。 这是怎么发生的,我该如何解决?
可能有一些事情会导致第一次呼叫延迟,例如检测代理设置。 尝试将代理设置为null:
client.Proxy = null;
您的计算机配置为执行自动代理检测。
你可以在这里禁用它:
或者,您可以手动覆盖WebClient要使用的代理; null
表示没有代理:
client.Proxy = null;
但是,在这种情况下,您应该为用户提供在应用程序中配置代理,因为某些用户在访问Web时必须使用代理。