.NET IHttpClientFactory: 名前付きクライアントのプロキシを構成する
IHttpClientFactory の名前付きクライアントのプライマリ ハンドラーにプロキシを接続し、呼び出し側で同じ名前を取得します。
1 つの名前付き HttpClient に構成したプロキシは、IHttpClientFactory が返すすべてのクライアントを自動的に構成するわけではありません。登録名と要求名を一致させておいてください。
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});次に、その名前付き構成を取得します。
var client = factory.CreateClient("via-proxy");エンドポイントは例示です。許可された公共サービスへの要求では、HTTP プロキシ一覧が、名前付きクライアントの WebProxy URL の候補を提供します。既定の名前なしクライアントを別の場所で作成することは別の検索であり、両方のクライアントが同じ注入されたファクトリから取得されていても変わりません。
プロキシの動作は、宛先要求ヘッダーとして扱うのではなく、プライマリ ハンドラーで接続レベルに構成します。ファクトリは、返す HttpClient オブジェクトとは別にハンドラーの有効期間を管理できます。
型付きクライアントや別の SDK が呼び出しを所有している場合は、どの登録がその HttpClient を提供しているかを確認してください。正しく構成されていても使われない名前付きクライアントは、その SDK のネットワーク パスに影響しません。
この構成は安定したルーティング ポリシーに使用します。操作の間に有効なハンドラーを変更することは、別の同時実行と有効期間の問題です。