У меня есть проект .Net Core, который должен подключаться примерно к 4 различным службам API, я не эксперт ни в одном коде HttpClient, но из того, что я обнаружил, было то, что вы обычно хотели бы повторно использовать только один экземпляр вашего HttpClient. Из того, что я могу сказать, общий консенсус состоит в том, чтобы использовать HttpClientFactory в .Net Core, зарегистрировав его в своем классе Startup, а затем запросив его с помощью DI.
Теперь большинство моих заголовков по умолчанию и тому подобное, как правило, одинаковы, за исключением URL-адреса BaseAddress, как мне это сделать при подключении к 4 службам API diff? Должен ли я зарегистрировать 4 разных именованных клиента или иметь одного клиента со всей предварительно установленной информацией по умолчанию, а затем вручную настроить его по мере необходимости, например настройка адреса?
Общие вопросы: поскольку я новичок в этом, было сказано, что я повторно использую один экземпляр HttpClient.
- Если я создам 4 разных именованных клиента для каждой службы API, не будет ли это создавать 4 экземпляра HttpClient при вызове метода .CreateClient ()?
- .CreateClient () создает новый экземпляр каждый раз, когда он вызывается, разве это не противоречит цели иметь один экземпляр HttpClient, если, скажем, мне нужно сделать 3 разных вызова одной службы API, каждый из этих вызовов будет вызывать файл. CreateClient (), чтобы установить какое-то соединение, и это создаст 3 экземпляра HttpClient?
Любая помощь для ясности будет оценена,
Спасибо!