9

他のサーバーの限られたセットに接続するC#Webサービスの場合、接続できるようにするサーバーごとに1つのHTTP接続プールを作成したいと思います。

もちろん、基本的な概念は次のとおりです。

  • 各プールは、リモートWebサーバーへのいくつかの接続(3つの接続?)を開き、それらの接続を維持する必要があります。
  • max-time-to-lifeを使用して、リモートWebサーバーへの接続をリサイクル(切断/再接続)し、リモートWebサーバーが切断される前に切断されないようにする必要があります。
  • 接続は同時に作成するのではなく、3つの接続の間に少し休止して、リサイクルも同時に行われないようにする必要があります。
  • それでもリモートWebサーバーが予期せず切断される場合は、そのことに気づき、再接続する必要があります。
  • 何らかの理由で再接続できない場合は、少し休止してから再試行してください。

このようにして、HttpWebRequestを送信するときに、すぐに使用できる接続があり、使用したいときに接続を設定する時間を節約できます。

現時点では、これがHttpWebRequestのデフォルト機能であるかどうかはわかりません。当たり前のことをお願いしているのならごめんなさい。これをグーグルで検索すると、Javaに関する同様の質問にたどり着きました。

質問1:.NET / c#にそのようなものがありますか?

質問2:そうでない場合、あなたが知っているインターネット上のこのプレゼントに関するリソースはありますか?

質問3:そうでない場合、自分で構築する方法を教えてください。

4

1 に答える 1

4

HttpWebRequest (基本的に .net のすべての Http API を意味します) は、既定で接続プールを既に利用しています。

接続プールのパラメーターを管理する必要がある場合は、 ServicePointクラスとServicePointManagerクラスを調べてください。

于 2013-02-26T09:52:57.490 に答える