C# HttpClient在webapp中的使用

C# HttpClient在webapp中的使用,c#,.net,asp.net-web-api,asp.net-web-api2,C#,.net,Asp.net Web Api,Asp.net Web Api2,我的问题是,我们应该在每次向webapi发出请求时只使用Http客户端的一个对象,还是每次都创建一个新对象。 我不确定哪一个适合搭配 like可以创建一个基本的控制器类,它可以被所有的控制器继承,在那里我有一个http客户机对象,我可以重用它来处理所有的请求 private HttpClient HttpClient { get { if (_httpClient != null) return _

我的问题是,我们应该在每次向webapi发出请求时只使用Http客户端的一个对象,还是每次都创建一个新对象。 我不确定哪一个适合搭配

like可以创建一个基本的控制器类,它可以被所有的控制器继承,在那里我有一个http客户机对象,我可以重用它来处理所有的请求

 private HttpClient HttpClient
        {
            get
            {
                if (_httpClient != null) return _httpClient;
                _httpClient = new HttpClient();
                _httpClient.DefaultRequestHeaders.Remove(keyAuthorization);
                _httpClient.DefaultRequestHeaders.Add(keyAuthorization, AuthenticationToken);
                return _httpClient;
            }
        }
或者为每个新请求创建一个新的http客户端对象,然后处置该对象

  using (HttpClient c = new HttpClient( ))
                    {
                        c.GetAsync("url");
                    }

_httpClient=新的httpClient();和HttpClient c=newhttpclient()都在创建新对象。参考变量在第二种情况下是不同的,尽管您不应该一次又一次地创建;只要你还在等。。