2010-04-16 4 views
250

В WCF есть несколько различных типов привязок на основе HTTP:BasicHttpBinding против WsHttpBinding против WebHttpBinding

Каковы различия между этими 3?

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

+29

[BasicHttpBinding = Soap 1.1], [WsHttpBinding = Soap 1.2], [WebHttpBinding = Rest] –

+0

Сравнение двух привязок на основе SOAP здесь : [basicHttpBinding vs wsHttpBinding] (http://stackoverflow.com/q/2106715/1497596) – DavidRR

ответ

444

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

  • 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 также много * тяжелее»и добавляет много накладных расходов на ваши сообщения, как они путешествуют по сети

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

+1

Я не принимаю никаких решений здесь, дорогая, я просто хотел узнать разницу, которую вы должны знать, какой вкус f оранжевый и тот же яблоко, поэтому я задал этот вопрос. Мне нужно больше о WebHttpBinding с точки зрения сравнения функций и производительности. –

+0

Проверьте Google или Bing и найдите «REST vs.SOAP "- ** НАГРУЗКИ ** информации! –

+4

Одна коррекция: wsHttpBinding не поддерживает потоковое вещание. Или я что-то не хватает? Http://msdn.microsoft.com/en-us/library/ms730879.aspx –

Смежные вопросы