Я использую IhttpClientFactory для вызова службы отдыха. Внедряем его в класс и используем.
public HttpClientLib(IHttpClientFactory clientFactory)
{
}
И используем для вызова.
Я также создал несколько обработчиков для внедрения HTTP-заголовка, обработки исключений и ведения журнала, как показано ниже
services.AddHttpClient(name: "test", httpClient =>
{
httpClient.BaseAddress = new Uri(Configuration["url"]!);
})
.AddHttpMessageHandler()
.AddHttpMessageHandler()
.AddTransientHttpErrorPolicy(builder => builder.WaitAndRetryAsync(3, times => TimeSpan.FromMilliseconds(times * 1000)));
Теперь это мне нужно сделать для всех HTTP-вызовов. Есть ли лучший способ сделать это, как показано ниже
public class MyHttpCaller: IHttpClientFactory
{
//programmatically add those handlers
//programmatically add polly
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... stom-class