Подтвердить что ты не робот

Как использовать Restful Service в .NET?

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

4b9b3361

Ответ 1

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

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

Ответ 2

Отъезд restsharp. Я не использовал его, но просматриваю его для использования наших собственных служб REST.

Ответ 3

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

https://github.com/danielcrenna/hammock

Ответ 4

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

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

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

Ответ 5

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

  • Обычный .NET HTTP request
  • Механизмы WCF
  • HttpClient (рекомендуется пакет nuget)
  • Другие библиотеки (RestSharp, Hammock и т.д.)

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

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

Ответ 6

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

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);

Ответ 7

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

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

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

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