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

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

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

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

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

Ответы

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

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