title: WCF Async operations not really async
body: <p>wonder if anyone can tell me where i'm going wrong.
  i've added a service reference in my wpf application VS2012</p>
  
  <p>however my wait on the Async call is blocking, i'm not doing anything with it at the moment.
  The Async call I got for free when I added the Service reference...</p>
  
  <p>Yet when I <code>await ma.searchModelsAsync</code> I'm blocked...</p>
  
  <p>can anyone shed some light on this??</p>
  
  <p>first I call the function like this:</p>
  
  <pre><code>private async void Button_Click_1(object sender, RoutedEventArgs e)
  {
      button1.IsEnabled = false;
  
      var cnt = await GetDataFromWcf();
      button1.IsEnabled = true;
  }
  </code></pre>
  
  <p>here is the actual function I call</p>
  
  <pre><code>public async Task&lt;List&lt;ViewModels.ModelInfo&gt;&gt; GetDataFromWcf()
  {
      using (var ma = new DataGenic.ModelActionsServiceTypeClient())
      {
          var modelInfos = await ma.searchModelsAsync(new ModelSearchCriteria { Category = "ECB" }, 1, 50);
          return modelInfos.Select(mi =&gt; new ViewModels.ModelInfo { Id = mi.Id, Name = mi.Name, Uri = mi.Uri }).ToList();
      }
  }
  </code></pre>
  
  <p>btw: if I put the function in a <code>Task.Run(() =&gt; ...</code> then it behaves as I expcect...</p>
  
  <p>Not sure if WCF is really giving me what I want.. ideas anyone?</p>