Я использую .net core 2.1
HttpFactory
и при запуске звонка services.AddHttpClient
.
устанавливаю BaseAddress
. Почти во всех моих звонках используется BaseAddress
, но некоторым нужновызывать другие URL-адреса, поэтому для них я напрямую передаю полный URL-адрес.
Это избавляет от моего httpClient
и создает новый?Должен ли я вместо этого иметь 2 разных типа клиентов и регистрироваться с соответствующими BaseAddress
при запуске (могу ли я сделать это даже с HttpFactory
?)?
Я задаю вопрос, так как моя интеграцияВ тестах возникают проблемы с вызовами, использующими маркер отмены «стиля тайм-аута».
PS: не использовать BaseAddress
будет проблематично, поскольку URL-адреса зависят от среды.
Обновление: я протестировал регистрацию именованных клиентов вместо этого.Один для основных случаев и другой с другим BaseAddress
.Похоже, что это помогло моим интеграционным тестам, так как теперь они редко прерывают время ожидания (и когда они это делают, я думаю, это может быть связано с другой проблемой).
Это добавляет к моему первоначальному вопросу, поскольку, кажется, влияет наспектакль.Итак, еще раз, возможно ли, что использование одного и того же Client
для вызовов с использованием либо BaseAddress
, либо полного адреса вызовет удаление / воссоздание Client
из HttpFactory
?