C# HttpClient在webapp中的使用
我的问题是,我们应该在每次向webapi发出请求时只使用Http客户端的一个对象,还是每次都创建一个新对象。 我不确定哪一个适合搭配 like可以创建一个基本的控制器类,它可以被所有的控制器继承,在那里我有一个http客户机对象,我可以重用它来处理所有的请求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 _
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()都在创建新对象。参考变量在第二种情况下是不同的,尽管您不应该一次又一次地创建;只要你还在等。。