Каковы мои возможности для использования службы RESTful с использованием .Net framework? Когда WCF (с использованием WebChannelFactory) предпочтительнее HttpClient?
Как использовать Restful Service в .NET?
Ответ 1
Самая новая HTTP-библиотека Microsoft находится здесь https://www.nuget.org/packages/Microsoft.Net.Http, и у меня есть сообщение в блоге, показывающее, как использовать его здесь.
Вы никогда не захотите использовать WebChannelFactory для службы RESTful. Связь, созданная WebChannelFactory, поражает точку REST.
Ответ 2
Отъезд restsharp. Я не использовал его, но просматриваю его для использования наших собственных служб REST.
Ответ 3
Проект гамака позволяет очень легко использовать сервисы RESTful, вы можете использовать его для легкого создания необходимых HTTP-запросов, которые вам нужны:
Ответ 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, возможно, что почти любое приложение может ее использовать. На самом деле, речь идет о том, кто ваша целевая аудитория.