c# - HttpClientFactory 和类型化客户端?

标签 c# rest asp.net-web-api httpclient httpclientfactory

我是实现 HttpClientFactory 的新手。我读过一份有关实现方法的文档。 在我的代码中有服务及其接口(interface),所以我想使用类型化客户端。但我有一个问题?!在类型化客户端中,我们不直接使用HttpClientFactory那么HttpClientFactory的好处在哪里? 这是我注册服务的代码:

var clientConf = configuration.GetSection(nameof(ClientConfigs));
builder.Services.AddHttpClient<IClientService, ClientService>(c =>
{
    c.BaseAddress = new Uri(clientConf.GetSection("EndPoint").Value);
 }).AddHttpMessageHandler<ServiceCallRequestHeader>();

这是我的服务的负责人:

  public ClientService(HttpClient client, ILogger<ClientService> logger)
    {
        _client = client;
        _logger = logger;
    }

最佳答案

在 Typed-Client 中,Dotnet 使用 HttpClientFactory 创建 HttpClient 的实例,使用该实例他们将创建您的客户端/类实例。所以最后,即使您没有显式使用 HttpClientFactory,您也在使用它。

下面是执行此操作的内部代码 enter image description here 来源:HttpClientBuilderExtensions.cs

关于c# - HttpClientFactory 和类型化客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73433886/

相关文章:

c# - WPF 从代码隐藏创建样式绑定(bind)

c# - 通过脚本更改 UI 按钮的颜色

c# - 子进程运行时退出父进程

c# - 在 WebApi 中组合路由映射

asp.net-mvc - Web Api 多次获取具有相同签名的路由

c# - 使用 C# 和 LINQ 对值进行分组

iOS、REST API - Facebook 登录

java - SpringMVC REST Web 服务

api - 如何在 REST 中建模类似向导的顺序过程?

jquery - 如何通过ajax调用在Web API中通过对象传递附加参数?