title: System.Threading.Tasks.Task - cannot be serialized because it does not have a parameterless constructor.
body: <p>I am currently using the <a href="http://wcf.codeplex.com" rel="nofollow">WCF Web API</a> and it is working great with <strong>synchronous</strong> tasks.
  However, when I try and implement <strong>asynchronous</strong> operations <strong>using Task/Task</strong> like so:</p>
  
  <pre><code>    [WebGet(UriTemplate = "landmark")]
      Task&lt;IEnumerable&lt;Closest&gt;&gt; GetLandmarkAsync(float latitude, float longtitude)
      {
          return Task.Factory.StartNew(() =&gt; CalculateClosestThing(latitude,     longtitude));
      }
  </code></pre>
  
  <p>I am getting this error:</p>
  
  <pre><code>System.Threading.Tasks.Task`1[System.Collections.Generic.IEnumerable`1[ContentRepository.Data.Entities.Closest]] cannot be serialized because it does not have a parameterless constructor. 
  </code></pre>
  
  <p>Now, the first thing I did was check the Closest Class and add a parameterless constructor like so:</p>
  
  <pre><code>public class Closest
  {
      public Closest() { }
  
      public double Distance { get; set; }
      public string Name { get; set; }
  }
  </code></pre>
  
  <p>But I'm still getting the same error. I've tried everything and clearly there is a parameterless constructor on the class. Has anyone ever experienced this? Any ideas?</p>