it-swarm.com.ru

Как использовать Restful службы в .NET?

Какие есть варианты использования службы RESTful с использованием .Net framework? Когда WCF (использующий WebChannelFactory) более предпочтителен, чем HttpClient?

29
user989046

Новейшая HTTP-библиотека Microsoft находится здесь https://www.nuget.org/packages/Microsoft.Net.Http и у меня есть запись в блоге, показывающая, как ее использовать здесь .

Вы никогда не захотите использовать WebChannelFactory против службы RESTful. Соединение, генерируемое WebChannelFactory, побеждает точку REST.

16
Darrel Miller

Проверьте Restsharp . Я не использовал его, но изучаю его для использования наших собственных REST сервисов.

14
Rex Morgan

Гамак-проект позволяет очень легко использовать сервисы RESTful, вы можете использовать его для простого создания необходимых http-запросов, которые вам нужны:

https://github.com/danielcrenna/hammock

3
Bassam Mehanni

Я думаю, что WCF предпочтительнее, когда вам нужна абстракция.

WCF предоставляет абстракцию для конкретных используемых протоколов обмена сообщениями и связи. Даже учитывая только сценарий RESTful, вы можете легче адаптироваться к различным форматам сообщений (XML, JSON, HTML).

WCF также предоставляет механизмы конфигурации, точки расширения и инструментарий.

2
Ethan Cabiac

Существует несколько различных способов использования REST сервисов в .NET:

Я написал сообщение в блоге , который демонстрирует первые три варианта.

Что касается потребления через WCF или HttpClient, я думаю, что имеет смысл прочитать этот вопрос SO , чтобы понять потенциал REST сервисов. Когда вы используете службу REST через WCF, вы не можете использовать всю эту мощность.

2
Andriy Buday

Это один из методов вызова или использования остальных веб-сервисов в asp.net c #

var client  = new RestClient("url"); 
var request = new RestRequest(Method.POST);

request.AddHeader("content-type", "application/json");
request.AddParameter("application/x-www-form-urlencoded",
    "type=password& [email protected]",ParameterType.RequestBody);

IRestResponse response = client.Execute(request);
0
Piyush Katkar

Я только что выпустил REST клиент здесь сегодня. Вы можете скачать репозиторий Git, чтобы увидеть примеры . https://bitbucket.org/MelbourneDeveloper/restclient-.net

  • Открытый исходный код. (Лицензия MIT)
  • Разметка языковой агностики. (Поддерживает JSON, SOAP и другие языки разметки)
  • Используйте сильные типы с REST.
  • Поддерживает Android, iOS, Windows 10, Windows 10 Phone, Silverlight, .NET, .NET Core.
  • Невероятно просто.
  • Асинхронный (использует асинхронные, ожидают ключевые слова).

Когда WCF (с использованием WebChannelFactory) более предпочтителен, чем HttpClient?

Это очень загруженный вопрос. WCF - это очень большой набор технологий, позволяющих взаимодействовать с различными протоколами, методами аутентификации и т.д. Он очень настраивается, но REST прост и поддерживается почти всеми доступными технологиями. Если вы напишите службу REST, скорее всего, ее сможет использовать почти любое приложение. Вопрос в том, кто ваша целевая аудитория.

0
Melbourne Developer