В WCF существует несколько различных типов основанной на HTTP привязки:
Каковы различия среди этих 3?
В особенности, каковы различия в терминах функций / производительность и совместимость?
Здесь вы сравниваете яблоки с апельсинами:
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