2016-07-21 4 views
1

Так что я недавно начал работать с вызовами API REST с C#. Из моих исследований кажется, что лучший способ сделать это - использовать HttpClient, который является частью System.Net.Http.Распространение System.Net.Http

Я узнал, что для получения этой библиотеки мне нужно загрузить и установить ее из NuGet, так как она не является частью .NET 4.5 по умолчанию.

Я предполагаю, что это означает, что я должен получить все необходимые сборки для HttpClient (похоже, их 4) и вручную распространять их с любым проектом, который будет использовать HttpClient.

Кажется странным, что мне нужно будет сделать это с помощью стандартных сборок .NET от Microsoft.

+0

В библиотеках, имеющих зависимости, нет ничего необычного. –

+1

«В последние годы команда использует NuGet как средство выпуска .NET Framework, чтобы быстрее и быстрее выпускать функции и исправления» https://blogs.msdn.microsoft.com/dotnet/p/nugetpackages/ My take на этом они делают это для любого пакета, который действительно не нужен для каждого приложения. Это легко подходит для любых автономных настольных приложений. – zzbomb

+0

@WilliamXifaras Да, я это понимаю. Мне просто показалось странным, что это касается библиотек, которые, похоже, станут частью стандартной установки .NET. – James

ответ

2

HttpClient поставляется с .NET 4.5 и выше (см. Информацию о версии here). Он также доступен для NuGet для older platforms и для .NET Core (это последняя версия, а также совместима с большинством реализаций .NET, так как она соответствует стандарту .NET 1.1).

Если вы используете .NET 4.5, просто добавьте ссылку на него - вам не нужен пакет (Ссылки> Добавить> Ассембли> Рамки>System.Net.Http).

+0

После того, как я прочитал о HttpClient, добавляющем System.Net.Http, это мой проект .NET 4.5 был первым, что я пробовал, но его там не было. Если бы это было, я бы даже не потрудился с помощью NuGet, чтобы добавить его. Будет ли HttpClient работать даже с версией .NET до 4.5? HttpClient использует Задачи. Методы (GET, PUT, POST, DELETE) возвращают задачи и являются «ожидаемыми». Не ждут и асинхронные функции .NET 4.5? – James

+0

Нет. Задачи были добавлены в .NET 4. Функция ожидания выполнялась с C# 5 и .NET 4.5, но также была выполнена для работы с .NET 4 с использованием пакета NuGet 'Microsoft.Bcl.Async'. –

+0

И 'System.Net.Http' определенно есть ... Возможно, вы нацелились на неверную версию фреймворка? –

Смежные вопросы