title: HttpRequestMessage.Content is null in receiving Controller action
body: <p>I've looked at some similar posts, but all had some relevant detail that does not apply in my case. I have an existing Shopper service with a Register method. It is built on .NET Framework 4.6.1 Web API. I have a number of working scenarios in which another .NET Framework 4.6.1 Web API service calls the Shopper service using HttpClient and HttpRequestMessage. I do this with GET, PUT, and POST methods and successfully pass data to the PUT and POST methods using </p>
  
  <pre><code>request.Content = new ObjectContent&lt;MemberAddress&gt;(memberAddress, new System.Net.Http.Formatting.JsonMediaTypeFormatter());
  </code></pre>
  
  <p>I'm now developing a new service, this one built on ASP.NET Core Web API. I'm attempting to call a POST action in the Shopper service. I'm getting my HttpClient from IHttpClientFactory.CreateClient. The HttpRequestMessage set up is, I think, the same as in my other calling services. </p>
  
  <pre><code>        var request = new HttpRequestMessage(HttpMethod.Post, updateShopperUrl);
          request.Content = new ObjectContent&lt;MemberRegistration&gt;(memberRegistration, new System.Net.Http.Formatting.JsonMediaTypeFormatter(), "application/json");
  </code></pre>
  
  <p>The call to the service looks like this: </p>
  
  <pre><code>        var httpClient = _clientFactory.CreateClient();
          var response = await httpClient.SendAsync(request);
  </code></pre>
  
  <p>I can inspect request.Content.Value before the call and it contains the object/data I expect. The controller action code on the other end looks like this: </p>
  
  <pre><code>    [Route("{shopperId}/register")]
      [Route("~/api/shopper/{shopperId}/register")]
      [HttpPost]
      public IHttpActionResult RegisterNewMember(string shopperId, [FromBody] MemberRegistration memberRegistration)
      {
  </code></pre>
  
  <p>But the memberRegistration parameter is always null. The [FromBody] attribute is recent addition in an attempt to solve this problem, but it did not help. FromBody should be the default behavior for a complex object parameter anyway. I can POST to that endpoint with Postman and the memberRegistration data comes through. </p>
  
  <p>Either I'm just missing something obvious or maybe there's something different happening in the ASP.NET Core calling side of the equation. </p>