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成员。