5

問題: さまざまなホストから何百ものイメージをダウンロードする必要があります。各ホストには、2000 から 200 のイメージがあります。

解決策: WebClient のメソッドを使用しnew WebClientてイメージをダウンロードする必要があるたびにを使用します。DownloadData

または、開いているソケット接続のプールを保持し、低レベルの呼び出しを使用して http 要求を行う方がよいでしょうか?

プールを使用するとより効率的に聞こえるように、tcp接続を開いたり閉じたりするのは費用がかかりますか(それがWebClientの機能だと思います)?

4

2 に答える 2

6

を使用する基盤となるインフラストラクチャWebClientは既に HTTP 接続をプールしていると思いますので、これを行う必要はありません。もちろん、いくつかのサンプル URL を使用して、 Wiresharkなどを使用して確認することもできます。

基本的に、私は他のプログラミング タスクと同じアプローチを取ります。つまり、機能する最も単純な方法でコードを記述し、ニーズに十分に対応できるかどうかを確認します。もしそうなら、あなたは終わりです。そうでない場合は、適切なツール (ネットワーク アナライザーなど) を使用してパフォーマンスが十分でない理由を突き止め、問題が解決する場合にのみ、より複雑なコードを使用します。

私の経験では、WebClientそれが必要なものでない場合は問題ありませんが、WebRequest. そのコントロールが必要ない場合は、 を使用してWebClientください。

于 2012-09-26T21:10:06.553 に答える
0

私は使いHttpWebRequestHttpWebResponse欲しいものをこすります。もちろん、要件に対応できるサービスがない限り、制限(ビジネス上の制限)がある場合もあり、純粋なhttpリクエストからhtmlを掘り下げることを好むことがよくあります。時々ただ開発者のように感じさせてください、あなたは知っています...

于 2012-09-26T21:12:39.307 に答える