2

更新ボタンをクリックしたときのダウンロード時間は次のとおりです。

  • 初回=5秒
  • 初回後=2秒

なぜ最初はもっと時間がかかるのですか?wc.Proxy = null;最初は2分もかかりませんでしたが、他に速度を落とすものはありますか?

Stopwatch sw = new Stopwatch();
sw.Start();
using (WebClient wc = new WebClient())
{
    wc.Proxy = null;
    wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0");
    wc.DownloadFile("http://example.com/folder/file.txt",@"folder/files/file.txt");
}
sw.Stop();
4

1 に答える 1

1

このプロセスを高速化するための可能な解決策は、キャッシュです。ダウンロードするファイル/データの性質が静的である場合は、それらをWeb/アプリサーバーにキャッシュすることをお勧めします。

別の解決策は、別のUIスレッドでダウンロードプロセスを起動し、非同期プロセスを使用してUIスレッドを解放し、アプリケーションUIがフリーズしないようにすることです。

ここに役立つかもしれないいくつかの参考文献があります:

于 2013-01-03T02:36:29.553 に答える