title: Posting to asp.net core mvc app results in null body and null input parameter
body: <p>This is my first asp.net core app, so I'm probably missing something obvious, but I've looked through the other StackOverflow answers, and the solutions there haven't helped me.  I have an asp.net core mvc app that I'm running on service fabric, and I'm trying to post a string to a controller. The string is originally an array of json objects.</p>
  
  <p>My ajax post:</p>
  
  <pre><code>var sendThis = { "operations": JSON.stringify(operations) };
  $.ajax({
      url: '/Home/Execute',
      type: 'POST',
      data: sendThis,
      dataType: "json",
      contentType: 'application/json; charset=utf-8',
      error: function (xhr) {
          $("#save-footer-text").val("Saving failed. Please contact an administrator");
      },
      success: function (result) {
          $(".save-footer").addClass("slider");
      },
      async: true
  });
  </code></pre>
  
  <p>My controller on the other side. I took the stream stuff from another stack overflow answer, but it just returns an empty string when it's done.</p>
  
  <pre><code>[HttpPost]
  public IActionResult Execute([FromBody] string operations /*this is null*/)
  {
      var i = 5;
      string documentContents; //this will be an empty string.
      Request.Body.Position = 0;
      using (Stream receiveStream = Request.Body)
      {
          using (StreamReader readStream = new StreamReader(receiveStream, Encoding.Unicode))
          {
              documentContents = readStream.ReadToEnd();
          }
      }
      Console.WriteLine(i);
      return new OkResult();
  }
  </code></pre>
  
  <p>From the other stackoverflow answers, I've also tried posting with traditional set to to true, and I've tried posting operations into a model, like this</p>
  
  <pre><code>public class M
  {
      public string status { get; set; }
      public string appName { get; set; }
      public string startTime { get; set; }
      public string endTime { get; set; }
      public string description { get; set; }
      public string operation { get; set; }
  }
  </code></pre>
  
  <p>with the controller changed to public <code>IActionResult Execute([FromBody] List&lt;M&gt; operations)</code></p>
  
  <p>I've checked that my javascript does send a request, with Chrome tools reporting that the Request payload is: </p>
  
  <p>operations= <em>my json string here</em></p>
  
  <p>I also see this in Fiddler, so I know it is going over the wire.</p>
  
  <p>Per <a href="https://stackoverflow.com/a/38493849/1193647">this</a> answer, I've also tried updating JsonSettings, but that didn't help either.</p>
  
  <p>I'm using 1.0.0-rc2-final for the asp.net core package, and 5.1.150 for service fabric.</p>
  
  <p>What am I missing here? Sorry if the answer is really trivial. Thank you for any help.</p>