在.NET 4.5.1中POST到ASP.NET WebApi 2

时间:2014-05-28 10:21:07

标签: asp.net-mvc asp.net-web-api httpclient asp.net-web-api2

如何从C#客户端将复杂类型发布到Web Api 2控制器操作? 我看到了很多关于它的信息,但是对于旧版本的框架。在.NET 4.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)
    {

    }
}

1 个答案:

答案 0 :(得分:1)

您会在Micorosft ASP.NET Web API 2.1 Client NuGet package中找到 PostAsJsonAsync 扩展方法。

尽管如此,如果您正确设置 HttpContent PostAsync 方法应该可行。可以在this discussion中找到一个示例。