Asp.net mvc 发布到.NET 4.5.1中的ASP.NET WebApi 2

Asp.net mvc 发布到.NET 4.5.1中的ASP.NET WebApi 2,asp.net-mvc,asp.net-web-api,httpclient,asp.net-web-api2,Asp.net Mvc,Asp.net Web Api,Httpclient,Asp.net Web Api2,如何将复杂类型从C#客户端发布到Web Api 2控制器操作? 我看到了很多关于它的信息,但是对于旧版本的框架。在.NET4.5.1中,正确的方法是什么 目前我有: using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:60892/"); client.DefaultRequestHeaders.Accept.Clear(); client.Defaul

如何将复杂类型从C#客户端发布到Web Api 2控制器操作? 我看到了很多关于它的信息,但是对于旧版本的框架。在.NET4.5.1中,正确的方法是什么

目前我有:

using (var client = new HttpClient())
{
    client.BaseAddress = new Uri("http://localhost:60892/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

    //client.PostAsJsonAsync() doesn't seem to exist or I am missing something
    //client.PostAsync() can't find a way to post a complex type    

    if (response.IsSuccessStatusCode)
    {

    }
}

您将在中找到PostAsJsonAsync扩展方法


但是,如果您适当地设置了HttpContent,则PostAsync方法应该可以工作。可以在中找到一个示例。

因此,是的,我丢失了2.1客户端nuget包。谢谢你的回复!