title: HttpClient freezes on the GetStringAsync method
body: <p>I have this c# MVC code and it works fine with the GetAsync and GetPost methods, but when using GetStringAsync, it freezes up at the line:</p>
  
  <pre><code>version = await client.GetStringAsync("/API/Version");
  </code></pre>
  
  <p>Driver code:</p>
  
  <pre><code>Task&lt;string&gt;[] tasks = new Task&lt;string&gt;[count];
  for (int i = 0; i &lt; count; i++)
  {
      tasks[i] = MyHttpClient.GetVersion(port, method);
  }
  Task.WaitAll(tasks);
  string[] results = new string[tasks.Length];
  for(int i=0; i&lt;tasks.Length; i++)
  {
      Task&lt;string&gt; t = (Task&lt;string&gt;)(tasks[i]);
      results[i] = (string)t.Result;
  }
  </code></pre>
  
  <p>HttpCilent code:</p>
  
  <pre><code>public static async Task&lt;string&gt; GetVersion(int port, string method)
  {
      try
      {
          var client = new HttpClient();
          client.BaseAddress = new Uri("http://localhost:" + port);
          string version = null;
          if (method.ToUpper().Equals("GETSTR"))
          {
              version = await client.GetStringAsync("/API/Version");
          }
          else if (method.ToUpper().Equals("GET"))
          {
              HttpResponseMessage res = client.GetAsync("/API/Version").Result;
              version = res.Content.ReadAsStringAsync().Result;
          }
          else if (method.ToUpper().Equals("POST"))
          {
              var content = new FormUrlEncodedContent(new[] 
              {
                  new KeyValuePair&lt;string, string&gt;("name", "jax")
              });
              HttpResponseMessage res = client.PostAsync("/API/Version", content).Result;
              version = res.Content.ReadAsStringAsync().Result;
          }
          client.Dispose();
          return version;
      }
      catch (Exception ex)
      {
          return "Error: " + ex.Message;
      }
  }
  }
  </code></pre>
  
  <p>Any ideas why?</p>