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);

StopwatchによるとDownloadString、メソッドは最初に呼び出されたときに13〜15秒かかりますが、繰り返し呼び出されるとかなりの時間がかかります。これはどのように発生し、どのように修正すればよいですか?

4

2 に答える 2

9

プロキシ設定の検出など、最初の呼び出しで遅延が発生する原因がいくつかある可能性があります。プロキシをnullに設定してみてください。

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

お使いのマシンは、自動プロキシ検出を実行するように構成されています。

ここで無効にできます:

スクリーンショット

または、WebClientで使用するプロキシを手動でオーバーライドすることもできます。nullプロキシがないことを意味します:

client.Proxy = null;

ただし、この場合、一部のユーザーはWebにアクセスするときにプロキシを使用する必要があるため、ユーザーにアプリケーションでプロキシを構成するように提案する必要があります。

于 2012-05-13T00:09:49.363 に答える