使用済みの .NET HttpClient プロキシハンドラーを変更すると失敗することがある
使用後にハンドラーのプロパティを変更するのではなく、同時要求の間も .NET のプロキシルーティングを安定させます。
最初に使用する前に .NET ハンドラーのルーティングを構成します。要求の開始後に Proxy や UseProxy を設定すると、InvalidOperationException がスローされることがあります。
| 変更 | 提供しないもの |
|---|---|
| 使用済みハンドラーのプロパティを書き換える | サポートされた要求ローカルのルート切り替え |
割り当て済みの WebProxy.Address を変更する | 同時要求に対するアトミックな選択、またはプールされた接続の移動 |
グローバルな現在値を IWebProxy の内部に置く | 状態を移動するだけでは定義されない同時実行ポリシー |
限られたルート集合では、それらのポリシーに関連付けられた再利用可能なクライアント/ハンドラーグループを保持し、送信前にクライアントを選択します。カスタムの IWebProxy は意図的で同時実行に安全な判断を行えますが、可変の共有スクラッチ値は依然として曖昧です。
宛先、期間、接続の寿命、OS の制限に応じて、ルートクライアントと進行中の処理を制限します。ルートを増やすとプールやソケットが増えるため、ベンチマークのプロキシ数は容量の保証にはなりません。
別のプロキシを介した再試行は、独自のクライアント/結果を持つもう 1 つの限定的な試行です。送信では、応答が消える前に最初の要求が処理された可能性を保持してください。