Настройки прокси ServiceStack HttpUtils в .NET 6+
Настройте прокси общего клиента .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-клиента приложения. Эта фабрика обработчика — общая политика; одновременным несвязанным маршрутам нужны отдельно принадлежащие клиенты.