10

我在 .Net 4.0 中并尝试使用 HttpClient。我读了一些文章说它在 4.0 中不再支持但您仍然可以使用它?我已经包含了System.Net.Http;程序集,但它不允许我向HttpClient. 知道如何解决这个问题吗?

我在错误发生的地方加粗了。

using (HttpClient http = new **HttpClient("{0}/v1/dm/labels/{1}.xml", MI_API_URL**))
        {
            http.**TransportSettings**.Credentials = new NetworkCredential(apiusername, apipassword);

            List<KeyValuePair<string, string>> parms = new List<KeyValuePair<string, string>>();
            parms.Add(new KeyValuePair<string, string>("Status", "Wiped"));

            HttpResponseMessage response = http.**Get**(new Uri("devices.xml", UriKind.Relative), parms);
            response.EnsureStatusIsSuccessful();
            responseoutput = response.Content.ReadAsString();
            xdoc.LoadXml(responseoutput);
4

1 回答 1

16

根据 MSDN HttpClient 仅在 .NET Framework 4.5 中受支持。尽管如此,还是有一个 .NET 4.0 的 HttpClient 实现。你可以在这里下载:

.NET 4.0 的 HttpClient

MSDN:HttpClient

在实现上仍然存在一些差异。例如,在 .NET 4.0 版本中,没有带 2 个参数的构造函数。更多信息请查看源代码:

.NET 4.0 源代码的 HttpClient

关于你的例子:

  • impl 中没有带 2 个参数的构造函数。.NET 4.0
  • impl 中没有带 2 个参数的 Get 方法。.NET 4.0
  • impl 中没有 TransportSettings 属性。.NET 4.0
于 2012-07-23T15:48:16.940 回答