В чем разница между wsHttpBinding и ws2007HttpBinding?

В MSDN мы можем прочитать:

Класс WS2007HttpBinding добавляет привязку, предоставляемую системой, аналогичную WSHttpBinding, но использует стандартные версии протоколов ReliableSession, Security и TransactionFlow Организации по развитию стандартов структурированной информации (OASIS). При использовании этой привязки никаких изменений объектной модели или настроек по умолчанию не требуется.

Но я не нашел никакой документации, которая могла бы объяснить мне, ПОЧЕМУ я хотел бы переместить wsHttpBinding на ws2007HttpBinding, мне кажется, что стандарт такой же.

Может ли кто-нибудь дать мне хорошее объяснение?

Ответов (4)

Решение

Привязки поддерживают разные протоколы. На этой странице в MSDN действительно есть хорошая матрица, которая объясняет, какие протоколы и какие привязки поддерживаются в WCF. Поэтому, если вам нужно взаимодействие со службами / клиентами, реализующими протоколы OASIS, используйте привязку ws2007httpbinding, в противном случае нет причин не использовать привязку wshttp.

Если вы хотите получить подробную информацию о различных протоколах, посетите их веб-сайты: WC3 и OASIS . Я уверен, что есть масса ресурсов, которые подчеркивают различия в этих протоколах.

Различные крупные предприятия и правительства должны использовать веб-службы и иметь разные требования. Таким образом, разные стандарты имеют смысл.

ws2007HttpBinding, определенная OASIS, является более новой версией, чем wsHttpBinding.

Он добавил протоколы ReliableSession, Security и TransactionFlow поверх протоколов транзакций, надежного обмена сообщениями и WS-Addressing wsHttpBinding.

Может быть проще начать с простой привязки, и, если потребуется в будущем, вы всегда можете предоставить существующие службы в новой привязке, сосуществующей со старой версией.

Использование новейшего стандарта кажется хорошей практикой, но помните, что привязка WS2007HttpBinding поддерживается только клиентами, на которых установлена ​​среда выполнения .NET версии не ниже 3.5 SP1 или 3.0 SP1.

В книге OReilly «Программирование служб WCF» (стр. 28–29) говорится, что Ws2007HttpBinding является производным от WsHttpBinding. Он добавляет поддержку новых стандартов и обновления стандартов транзакций, безопасности и надежности.