Я хочу зарегистрировать набранный HttpClient как здесь Документы Microsoft .По сути, подход должен быть
services.AddHttpClient ();
обычно шаблон этих классов получает только класс HttpClient в качестве параметра, и вы реализуете логику для вызова конечной точки.В моем случае мне нужно использовать 2 HttpClient внутри моего MyHttpClient, один для проверки связи с конечной точкой, а другой для связи с IdentityProvider для обнаружения refreshEndpoints для обновления моих файлов cookie.
public class MyHttpClient : IMyHttpClient
{
public MyHttpClient (HttpClient httpClient,
HttpClient refreshHttpClient)
{
}
}
Если я пытаюсьчтобы разрешить из контроллера IMyHttpClient, я получаю сообщение о том, что он не может разрешить HttpClient.
В коде GitHub в строке 43 AddHttpClient вы можете видеть, что он вызывает DefaultTypedHttpClientFactory.Если вы перейдете к реализации DefaultTypedHttpClientFactory , вы заметите, что это универсальный тип.И когда он вызывает CreateClient, он передает только один параметр конструктору в строке 39.
Единственный обходной путь, который я вижу здесь, это не создавать типизированный клиент и зарегистрировать обычный класс, который получает IHttpClientFactory, а также создавать и настраиватьмои клиенты на лету, а не как напечатано.Любая другая идея?