在.NET 4.5.1中向ASP.NET WebApi 2进行POST请求

22 浏览
0 Comments

在.NET 4.5.1中向ASP.NET WebApi 2进行POST请求

我如何从C#客户端将复杂类型POST到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()似乎不存在,或者我漏掉了什么
    //client.PostAsync()找不到一种方法来发布复杂类型
    if (response.IsSuccessStatusCode)
    {
    }
}

0
0 Comments

问题出现的原因是缺少Microsoft ASP.NET Web API 2.1 Client NuGet包。解决方法是安装这个NuGet包。

文章内容如下:

在使用ASP.NET WebApi 2进行POST请求时,我们可以使用PostAsJsonAsync扩展方法。但是,如果正确设置HttpContent,使用PostAsync方法也可以实现相同的功能。

首先,我们需要安装Microsoft ASP.NET Web API 2.1 Client NuGet包。你可以在http://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/5.1.2上找到这个包并进行安装。

然后,我们需要正确设置HttpContent。你可以在https://stackoverflow.com/questions/18971510上找到一个例子。

总结起来,如果你遇到了POST到ASP.NET WebApi 2的问题,首先检查是否安装了Microsoft ASP.NET Web API 2.1 Client NuGet包。如果没有安装,你可以通过安装这个NuGet包来解决问题。另外,确保正确设置HttpContent以便使用PostAsync方法。

0