.NET 6+ での ServiceStack HttpUtils のプロキシ設定
.NET 6+ の共有クライアントのプロキシは初期化時に設定します。後からファクトリを変更しても既存のクライアントは置き換わりません。
ServiceStack の .NET 6+ ビルドでは、HTTP Utils が遅延生成される共有 HttpClient を作成します。アプリケーションの初期化時に、最初のヘルパー呼び出しより前にそのハンドラーファクトリを設定してください:
ServiceStack.HttpUtils.HttpClientHandlerFactory = () =>
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy("http://proxy.example:8080"),
AutomaticDecompression =
System.Net.DecompressionMethods.Brotli |
System.Net.DecompressionMethods.Deflate |
System.Net.DecompressionMethods.GZip
};共有クライアントが既に存在する場合、このファクトリを変更しても再構成されません。後からの割り当てが効かないように見えるときは、まずこのタイミングを確認します。HTTP プロキシ一覧から HTTP エンドポイントを、その共有クライアントが作成される前に公開ルート向けに選べます。
プロキシアカウントの場合は、アプリケーションの構成を通じて WebProxy.Credentials を設定します。HttpClientHandler.UseDefaultCredentials はサーバーアカウントに関するもので、そのプロキシオブジェクトの資格情報を自動では入力しません。
古い HttpWebRequest と requestFilter の例は以前の実装を対象としています。新しい形式では、要求の構成が要求フィールドを扱い、ハンドラーが接続のルーティングを担います。
既に導入済みのカスタムクライアントファクトリ、またはアプリケーションの HTTP クライアントファクトリの所有形態がある場合は維持してください。このハンドラーファクトリは共有ポリシーです。同時に動く無関係なルートには、別々に所有するクライアントが必要です。