BasicHttpBinding по сравнению с WsHttpBinding по сравнению с WebHttpBinding

В WCF существует несколько различных типов основанной на HTTP привязки:

Каковы различия среди этих 3?

В особенности, каковы различия в терминах функций / производительность и совместимость?

289
задан Mubashar 6 February 2014 в 23:43
поделиться

1 ответ

Здесь вы сравниваете яблоки с апельсинами:

  • webHttpBinding - это привязка в стиле REST, при которой вы просто нажимаете URL-адрес и получаете обратно целую кучу XML или JSON из веб-службы

  • basicHttpBinding и wsHttpBinding - это две привязки на основе SOAP, которые сильно отличаются от REST. SOAP имеет то преимущество, что у него есть WSDL и XSD для подробного описания службы, ее методов и передаваемых данных (в REST пока ничего подобного нет). С другой стороны, вы не можете просто перейти к конечной точке wsHttpBinding в своем браузере и посмотреть XML - вам нужно использовать клиент SOAP, например WcfTestClient или ваше собственное приложение.

Итак, ваше первое решение должно быть: REST против SOAP (или вы можете предоставить оба типа конечных точек из своей службы - это тоже возможно).

Кроме того, между basicHttpBinding и wsHttpBinding существуют следующие различия:

  • basicHttpBinding является самой базовой привязкой - SOAP 1.1, не особо с точки зрения безопасности, не более того с точки зрения функций - но совместим практически с любым SOAP-клиентом -> отлично подходит для взаимодействия, слабый по функциям и безопасности

  • wsHttpBinding - это полноценная привязка, который поддерживает множество функций и стандартов WS- * - он имеет гораздо больше функций безопасности, вы можете использовать сеансные соединения, вы можете использовать надежный обмен сообщениями, вы можете использовать транзакционный контроль - намного больше, но wsHttpBinding также много * тяжелее »и добавляет много накладных расходов вашим сообщениям, поскольку они перемещаются по сети

Для более глубокого сравнения (включая таблицы и примеры кода) между ними ознакомьтесь с этой статьей проекта: Различия между BasicHttpBinding и WsHttpBinding

508
ответ дан 23 November 2019 в 01:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: