title: async call in C# not returning result
body: <p>I have an ASP.NET MVC site and a Web API.
  In a controller action of the MVC site I do:</p>
  
  <pre><code>public ActionResult ActionAsync()
  {
      string result = MakeAsyncRequest().Result;
      return View("Index", (object)result);
  }
  </code></pre>
  
  <p>MakeAsyncRequest() is as follows:</p>
  
  <pre><code>private async Task&lt;string&gt; MakeAsyncRequest()
  {
      using (var client = new HttpClient())
      {
          Task&lt;string&gt; response = client.GetStringAsync("http://localhost:55286/api/Home");
          DoSomething();
          return await response;
      }
  }
  </code></pre>
  
  <p>When I debug I see DoSomething() being executed (it's just a void), also the WebAPI gets called and returns a string, but then the return of MakeAsyncRequest doesn't happen and the browser stays indefinitely waiting for the server to return something.</p>
  
  <p>Why is this? Something to do with the client being an ASP.NET MVC site?</p>