HttpClientFactory не получает конфигурациюC#

Место общения программистов C#
Ответить
Anonymous
 HttpClientFactory не получает конфигурацию

Сообщение Anonymous »

У меня есть такая настройка:

Код: Выделить всё

services.AddHttpClient(c =>
{
c.Timeout = TimeSpan.FromMinutes(5);
})
.AddTransientHttpErrorPolicy(builder => builder.WaitAndRetryAsync([
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(5),
TimeSpan.FromSeconds(10)
]));

Код: Выделить всё

internal class MyManagerFactory : IMyManagerFactory
{
private readonly IHttpClientFactory _httpClientFactory;
private readonly IMySettings _settings;

...

public IMyManager Get(string key)
{
var client = _httpClientFactory.CreateClient();

var queryString = new Dictionary
{
{"tenantId", settings.TenantId },
{"locationId", settings.LocationId }
};

var uri = QueryHelpers.AddQueryString(settings.BaseUrl, queryString);
client.BaseAddress = new Uri(uri);
client.DefaultRequestHeaders.Add("X-Token", settings.ApiToken);

return new KiyohCustomerReviewManager(client);
}
}

Клиент работает, но настроенное время ожидания и политика ошибок в DI не применяются. Как я могу сделать так, чтобы фабрика клиента использовала мои настроенные значения по умолчанию при вызове CreateClient()?


Подробнее здесь: https://stackoverflow.com/questions/792 ... figuration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»