1. ホーム
  2. .net

[解決済み] HttpClientは同時に使っても大丈夫ですか?

2022-04-20 10:29:21

質問

を使用するすべての例において、私は HttpClient これは、1回限りの呼び出しに使用されます。しかし、複数のリクエストを同時に行うような永続的なクライアントの場合はどうでしょうか?基本的には client.PostAsync の同じインスタンスに対して、同時に2つのスレッドで HttpClient .

私はここで実験結果を求めているわけではありません。動作する例は単なる偶然(しかもしつこい)かもしれませんし、失敗する例は設定ミスの可能性があるからです。理想的には、HttpClientの並行処理に関する質問に対する権威ある答えを探しているのです。

どのように解決するのですか?

Microsoft Docsによると .NET 4.5 以降では、以下のインスタンスメソッドがあります。 はスレッドセーフです。 (@ischell さんありがとうございます)。

CancelPendingRequests
DeleteAsync
GetAsync
GetByteArrayAsync
GetStreamAsync
GetStringAsync
PostAsync
PutAsync
SendAsync
PatchAsync