Использование .Net 4.0 HttpClient?

im в .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);

person AA11oAKas    schedule 23.07.2012    source источник


Ответы (1)


Согласно MSDN HttpClient поддерживается только в .NET Framework 4.5. Тем не менее есть реализация HttpClient для .NET 4.0. Вы можете скачать это здесь:

HttpClient для .NET 4.0

MSDN: HttpClient

Тем не менее, есть некоторые различия в реализации. Например, в версии для .NET 4.0 нет конструктора с двумя параметрами. Пожалуйста, смотрите исходный код для получения дополнительной информации:

HttpClient для исходного кода .NET 4.0

Что касается вашего примера:

  • В реализации нет конструктора с 2 параметрами. для .NET 4.0
  • В реализации нет метода Get с двумя параметрами. для .NET 4.0
  • В impl нет свойства TransportSettings. для .NET 4.0
person Raman Zhylich    schedule 23.07.2012
comment
Спасибо, Раман, это то, что я подозревал. Я схватил dll с помощью nuget - person AA11oAKas; 23.07.2012
comment
Владелец удалил этот пакет из списка. Это может означать, что пакет устарел или его больше нельзя использовать. Вместо этого используйте это: nuget.org/packages/Microsoft.Net.Http. - person Himalaya Garg; 13.11.2018