MVC 6 Post 操作参数为空

MVC 6 Post action parameter is null

我有一个 MVC 6 应用程序和一个单独的 MVC 6 WebAPI 服务。

我使用以下代码从应用程序发送一个对象:

这是它的视图部分:

客户端发送给WebAPI服务:

参数为空的地方:

在 Fiddler 日志中,我得到 0 作为 Content-Length:

我还应该设置什么?

设置StringContent的编码和媒体类型非常重要。如果我可以使用 PostAsJsonAsync 可能会处理这部分 - 不幸的是我不能在 DNX 中使用它。

所以这是客户端的正确代码:

  string content = Newtonsoft.Json.JsonConvert.SerializeObject(blog);
  HttpResponseMessage response = await client.PostAsync("api/values", new StringContent(content, Encoding.UTF8,"application/json"));