title: HttpClient DefaultRequestHeaders Authorization Exception
body: <p>I have a class that has a private <code>HttpClient</code>.  I have a <code>DoRequest</code> method that handles all my requests and takes a template object for the content/parameters.  So far I have 2 calls.  One is to retrieve a token and one is to get some other info (GetInfo).  my <code>GetInfo</code> method will need the authorization header set so I do this before calling <code>DoRequest</code>:</p>
  
  <pre><code>this.Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
  </code></pre>
  
  <p>As soon as I started doing a <code>Parallel.For</code> for a load test, I start getting a <code>An item with the same key has already been added</code> exception, sometimes.  Now I understand that the headers are stored in a dictionary and that's why I am getting the exception but I am looking for ideas on how to solve this while retaining my <code>DoRequest</code> design.  I guess one way to solve it is to set the header in my <code>HttpContent</code> object but that lives in my <code>DoRequest</code> method and I would need to pass a Token parameter to it now.  I'm not saying that's the worst thing in the world but am looking for alternatives, if any exist.</p>