HttpFormUrlEncodedContent不是system.Net.Http的一部分

时间:2017-02-18 08:09:31

标签: c#

我在我的应用程序中使用HttpFormUrlEncodedContent对象PostAsync。 我把所有必要的参考文献作为:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
using System.Threading.Tasks;
using System.Security.Cryptography;
using Newtonsoft.Json;
using System.Net;
using System.Net.Http;

以下是我的帖子的代码:

var client = new HttpClient();
var values = new List<KeyValuePair<string, string>>();
values.Add(new KeyValuePair<string, string>("task", task));
values.Add(new KeyValuePair<string, string>("merchant", "2234-6566"));
values.Add(new KeyValuePair<string, string>("ref", refl));
values.Add(new KeyValuePair<string, string>("hash", hash));
values.Add(new KeyValuePair<string, string>("amount", "20"));
values.Add(new KeyValuePair<string, string>("seller", "mymail@mail.com"));
values.Add(new KeyValuePair<string, string>("remarks", "payment")); 

HttpFormUrlEncodedContent formContent = new HttpFormUrlEncodedContent(values);

var content = new FormUrlEncodedContent(values);
Task<HttpResponseMessage> t = client.PostAsync("https://epay.com/api/", content);
t.Wait();
var response = t.Result;

有了这个,我收到如下错误信息:

  

类型或命名空间名称'HttpFormUrlEncodedContent'不可能   发现(您是否缺少using指令或程序集引用?)

解决此问题的可能方法是什么?

1 个答案:

答案 0 :(得分:0)

这是因为HttpFormUrlEncodedContent Class来自Windows​.Web​.Http名称空间,适用于UWP应用程序。

因此,如果您的程序实际上是UWP应用程序,那么请确保引用了所需的程序集并为该命名空间添加using

否则只需将值集合添加到FormUrlEncodedContent Constructor

即可