HttpClient を同時に使用しても安全ですか? 質問する

HttpClient を同時に使用しても安全ですか? 質問する

私が見つけた の使用例はすべて、1 回限りの呼び出しに使用されています。しかし、複数のリクエストが同時に行われる可能性がある永続的なクライアントの状況の場合はどうなるでしょうか。基本的に、の同じインスタンスに対して 2 つのスレッドを同時にHttpClient呼び出すことは安全ですか。client.PostAsyncHttpClient

私はここで実験結果を求めているわけではありません。動作する例は単なる偶然の一致 (しかも永続的な偶然) である可能性があり、失敗する例は構成ミスの問題である可能性があります。理想的には、HttpClient での同時実行処理に関する質問に対する信頼できる回答を求めています。

ベストアンサー1

Microsoft Docsによると.NET 4.5以降では以下のインスタンスメソッドスレッドセーフである(@ischell に感謝):

CancelPendingRequests
DeleteAsync
GetAsync
GetByteArrayAsync
GetStreamAsync
GetStringAsync
PostAsync
PutAsync
SendAsync
PatchAsync

おすすめ記事