我有一个 .Net Core 项目需要连接到大约 4 个不同的 API 服务,我不是任何 HttpClient 代码的专家,但据我发现,您通常只想重用一个实例你的 HttpClient 的。据我所知,普遍的共识是在.Net Core 中使用 HttpClientFactory,方法是在 Startup 类中注册它,然后使用 DI 请求它。
现在,除了 BaseAddress url 之外,我的大多数默认标头等通常都相同,当连接到 4 个 diff API 服务时,我应该如何处理?我应该注册 4 个不同的命名客户端还是让一个客户端预先设置所有默认信息,然后根据需要手动配置它,例如配置地址?
一般问题是因为我对此很陌生,据说可以重复使用 HttpClient 的一个实例。
- 如果我为每个 API 服务创建 4 个不同的命名客户端,当我调用 .CreateClient() 方法时,这不会创建 4 个 HttpClient 实例吗?
- .CreateClient() 每次调用时都会创建一个新实例,如果说我需要对一个 API 服务进行 3 次不同调用,这是否会破坏拥有一个 HttpClient 实例的目的,每个调用都会调用 . CreateClient() 建立某种连接,这将创建 3 个 HttpClient 实例?
任何帮助澄清将不胜感激,
谢谢!