HttpClient和IHttpClientFactory继承逻辑

c#

我正在Startup.cs课堂上创建这样的客户端。

services.AddHttpClient("myClient", client => 
{
  client.BaseAddress = new Uri("https://test.com");
});

然后我有一个客户端文件 Client.cs

protected readonly HttpClient httpClient;
public Client(HttpClient httpClient)
{
  this.httpClient = httpClient;
}

现在,当我扩展我的 Client 类时ServiceClass.cs

private readonly HttpClient _myClient;
public ServiceClass(IHttpClientFactory httpClientFactory) : base(//What should I pass here?)
{
  _myClient = httpClientFactory.CraeteClient("myClient");
}

我不确定我应该在这里传递什么对象,或者我的代码结构不正确。请帮忙!

回答

_myClient完全删除该字段,因为您有一个受保护的字段httpClient,而是让基本构造函数处理它:

public ServiceClass(IHttpClientFactory httpClientFactory) : 
base(httpClientFactory.CraeteClient("myClient")) 
{}

代码假定您不是在寻找两个不同的HttpClient成员。


以上是HttpClient和IHttpClientFactory继承逻辑的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>