Вы сравниваете яблоки с апельсинами здесь:
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