title: HttpContent.ReadAsAsync Deserialization issue
body: <p>I have a small REST service that I am running via the HttpSelfHostServer (ASP.Net WebApi Beta), but have am having some problems deserializing some data that is posted to the server. The method signature is as follows:</p>
  
  <pre><code>public HttpResponseMessage PostServers(ServerType serverType)
  </code></pre>
  
  <p>The method is being called fine, however on deserialization of the data using the following code:</p>
  
  <pre><code>var servers = Request.Content.ReadAsAsync&lt;List&lt;ServerZoneInformation&gt;&gt;().Result;
  ...
  </code></pre>
  
  <p>an IOException is thrown with the message "Cannot access a closed Stream.". The same error occurs when trying to deserialize the code via</p>
  
  <pre><code>XmlSerializer serializer = new XmlSerializer(typeof(List&lt;ServerZoneInformation&gt;));
  var servers = (List&lt;ServerZoneInformation&gt;)serializer.Deserialize(Request.Content.ReadAsStreamAsync().Result);
  ... 
  </code></pre>
  
  <p>However I can get the method to work if I use the following:</p>
  
  <pre><code>XmlSerializer serializer = new XmlSerializer(typeof(List&lt;ServerZoneInformation&gt;));
  string data = Request.Content.ReadAsStringAsync().Result;
  using (MemoryStream ms = new MemoryStream(UTF8Encoding.UTF8.GetBytes(data)))
  {
     var servers = (List&lt;ServerZoneInformation&gt;)serializer.Deserialize(ms);
     ...
  }
  </code></pre>
  
  <p>Am I doing somthing wrong in the first two cases, or is this a bug in the WebApi?</p>
  
  <p>Note: I have not tried this when hosting via IIS yet.</p>
  
  <p>Cheers</p>
  
  <p>Ben</p>