我需要为新的BaseAddress的后续请求创建新的HttpClient吗?



以以下示例为例,我使用单个httpClient,分配BaseAddress,然后将其传递给最终将使用它的客户端:

var httpClient = httpClientFactory.CreateClient("morningstar-api");
httpClient.BaseAddress = new Uri("http://UniqueAddress_1");
_mfEODListApi = new RestEase.RestClient(httpClient);
httpClient.BaseAddress = new Uri("http://UniqueAddress_2");
_MFListApi = new RestEase.RestClient(httpClient)();

是更好地分配不同的基地地址如上所述,还是我应该为每个创建一个新的httpClient,并给每个新的httpClient其唯一的BaseAddress?

按照上面的模式,我随后捕获了一个异常:

解析值时遇到意外字符:<路径",行0,位置0.>

但我不知道这个不幸的无意义的消息是由于我配置httpClient的方式或其他完全不相关的东西。

我想更好地了解为调用不同的baseaddress创建httpclient的最佳实践。

根据您的用例,MS文档给了您一些使用哪种模式的想法。

有几种方法可以在应用中使用IHttpClientFactory:

基本用法指定的客户

类型的客户生成客户

最好的方法取决于应用程序的需求。

最新更新