c# - 在某些调用中不使用 httpClient.BaseAddress 会导致创建新客户端吗?
问题描述
我正在使用.net core 2.1
HttpFactory
并且我BaseAddress
在调用时在启动中设置了services.AddHttpClient
.
几乎我所有的调用都使用BaseAddress
,但有些需要调用其他 URL,所以对于那些,我直接传递完整的 URL。
这会处理我的httpClient
并创建一个新的吗?我是否应该拥有 2 种不同的客户端类型并在启动时分别注册它们BaseAddress
(我什至可以使用HttpFactory
?)?
我在问这个问题,因为我的集成测试在使用“超时样式”取消令牌的调用方面存在问题。
PS:不使用BaseAddress
会很痛苦,因为 URL 取决于环境。
更新:我测试了注册命名客户端。一种用于主要情况,另一种用于不同的情况BaseAddress
。它似乎对我的集成测试有所帮助,因为现在它们很少超时(当它们超时时,我认为它可能与另一个问题有关)。
这增加了我原来的问题,因为它似乎会影响性能。再说一次,是否有可能对使用Client
the 或完整地址的呼叫使用相同的地址会提示对from the 的BaseAddress
处置/娱乐?Client
HttpFactory
解决方案
推荐阅读
- python-3.x - Discord.py> 如何安排一个操作?我尝试使用时间表
- node.js - 无法在猫鼬中找到参考模型属性
- node.js - 如何使用 express 取消设置内容类型标头
- python - 熊猫切割,如何标记正确的开放端点?
- python - Scrapy - 达到最大重定向时生成 URL [301]
- php - Laravel 不使用 CSS Admin LTE 查看页面
- c# - 从 1 个 .net 标准库创建 2 个 NuGet 包
- javascript - 状态更改不会触发 componentDidMount()
- python - Django model.delete() 重新设置主键
- django - 在 Django 中运行 Dash 时找不到 dash_bootstrap_components.min.js