title: Re-using HttpClient but with a different Timeout setting per request?
body: <p>In order to reuse open TCP connections with <code>HttpClient</code> you have to share a single instance for all requests.</p>
  
  <p>This means that we <em>cannot</em> simply instantiate <code>HttpClient</code> with different settings (e.g. timeout or headers).</p>
  
  <p>How can we share the connections and use different settings at the same time? This was very easy, in fact the default, with the older <code>HttpWebRequest</code> and <code>WebClient</code> infrastructure.</p>
  
  <p>Note, that simply setting <code>HttpClient.Timeout</code> before making a request is not thread safe and would not work in a concurrent application (e.g. an ASP.NET web site).</p>