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