public static void Main()
Console.WriteLine("original code - *not* singleton httpclient");
new ProviderClientOriginal("http://www.example.com");
new ProviderClientOriginal("http://www.example.com");
new ProviderClientOriginal("http://www.example.com");
Console.WriteLine("---------------------------------------------------");
Console.WriteLine("singleton httpclient code");
new ProviderClientSingleton();
new ProviderClientSingleton();
new ProviderClientSingleton();
public class ProviderClientOriginal
private static HttpClient _httpClient;
public ProviderClientOriginal(string baseUrl)
_httpClient = new HttpClient{BaseAddress = new Uri(baseUrl)};
Console.WriteLine("instantiate new HttpClient()!!");
public class ProviderClientSingleton
private static HttpClient _httpClient;
static ProviderClientSingleton()
string baseUrl = "http://www.example.com";
_httpClient = new HttpClient{BaseAddress = new Uri(baseUrl)};
Console.WriteLine("instantiate new HttpClient()!!");