c# - HttpClient 不支持 PostAsJsonAsync 方法 C#

标签 c# json asp.net-web-api dotnet-httpclient

我正在尝试从我的 Web 应用程序调用 Web API。我正在使用 .Net 4.5,在编写代码时出现错误 HttpClient 不包含定义 PostAsJsonAsync 方法。

下面是代码:

HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:51093/");
client.DefaultRequestHeaders.Accept.Add(
   new MediaTypeWithQualityHeaderValue("application/json"));
var user = new Users();
user.AgentCode = 100;
user.Remarks = "Test";
user.CollectionDate = System.DateTime.Today;
user.RemittanceDate = System.DateTime.Today;
user.TotalAmount = 1000;
user.OrgBranchID = 101;

var response = client.PostAsJsonAsync("api/AgentCollection", user).Result;

我收到错误消息:

Error: 'System.Net.Http.HttpClient' does not contain a definition for 'PostAsJsonAsync' and No extension method 'PostAsJsonAsync' accepting a first argument of type 'System.Net.Http.HttpClient' could be found (are you missing a using directive or an assembly reference?)

请看一下并给我建议。

最佳答案

是的,你需要添加一个引用

System.Net.Http.Formatting.dll

这可以在扩展程序集区域中找到。

实现此目的的一个好方法是添加 NuGet package Microsoft.AspNet.WebApi.Client到你的项目。

关于c# - HttpClient 不支持 PostAsJsonAsync 方法 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19158378/

相关文章:

c# - 枚举标志从多个中获取显示名称

c# - 为每个 HTML 标签添加数字属性

asp.net - 如何在.Net Web API中包含System.Web.Http.Cors引用dll

asp.net-web-api - ASP.NET Web API 缓存控制

asp.net-mvc - 如何路由到 MVC4 中某个区域内的 API Controller ?

c# - NetworkStream 连接自动关闭

c# - HttpWebRequest、C# 和 Https

php - JSON 单项

java - Android 登录 Activity - 解析数据时出错 org.json.JSONException : Value  of type java. lang.String 无法转换为 JSONObject

json - org.openx.data.jsonserde.json.JSONObject 无法转换为 org.openx.data.jsonserde.json.JSONArray