オープンTCP接続をHttpClient
と再利用するには、すべての要求に対して1つのインスタンスを共有する必要があります。HttpClientを再使用しますが、リクエストごとにタイムアウトの設定は異なりますか?
これは、がの場合、異なる設定(タイムアウトやヘッダーなど)で簡単にインスタンス化できないことを意味します。
どのようにして接続を共有し、異なる設定を同時に使用できますか?これは、デフォルトでは非常に簡単で、より古いものでした。HttpWebRequest
とWebClient
インフラストラクチャです。
要求を行う前にHttpClient.Timeout
を設定するだけでは、スレッドセーフではなく、並行アプリケーション(ASP.NET Webサイトなど)では機能しません。
:この問題を解決するには、無限の可能
HttpClient
の「最大」のタイムアウトを設定しますか?ヘッダーのようなものは要求ごとに設定可能であり、さまざまな 'BaseAddress'はあまり意味がありません。実際には、Timeoutは、同じインスタンス上で変更したいと思う_only_プロパティかもしれません。質問ごとに異なるタイムアウトを使用する方法を示しています。 –@ToddMenierそれは良い点です。それは質問に答えます、はい! – boot4life
'HttpClient'を再利用するということは、_single_ TCP接続を再利用していることを意味します。ここには「プール」はありません。 –