Код: Выделить всё
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);
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... figuration
Мобильная версия