Различные привязки WCF, их отличия и совместимость с другими платформами

Я ищу некоторые хорошие технические детали по теме привязок WCF, мне интересно знать следующие вещи.

  1. Список различных привязок WCF с особым назначением и ограничением.
  2. Совместимость / Взаимодействие с другой платформой, например, использование WCF-сервиса в Java, PHP-клиенте. Какая привязка поддерживается, а какая нет.
  3. Если я хочу получать / публиковать защищенные данные через API-интерфейс службы, какой привязке следует использовать, если клиентское приложение находится в Java или Php?

Я просматривал разные материалы через Интернет, но это не было подробно и несколько разбросано. Ожидание хороших ответов.

Solutions Collecting From Web of "Различные привязки WCF, их отличия и совместимость с другими платформами"

Выбор правильной привязки WCF

введите описание изображения здесь

  1. BasicHttpBinding : базовое взаимодействие с веб-сервисами. Предоставляет услуги WCF в качестве устаревших веб-сервисов ASMX. Используется для взаимодействия. По умолчанию безопасность отсутствует.
  2. WSHttpBinding : веб-службы с поддержкой WS- *. Поддерживает транзакции и надежную передачу сообщений.
  3. WSDualHttpBinding : веб-службы с двусторонним контрактом и поддержкой транзакций.
  4. WSFederationHttpBinding : веб-службы с интегрированной безопасностью. Поддерживает транзакции.
  5. MsmqIntegrationBinding : связь непосредственно с приложениями MSMQ. Поддерживает транзакции.
  6. NetMsmqBinding : связь между приложениями WCF с использованием очереди. Поддерживает транзакции.
  7. NetNamedPipeBinding : связь между приложениями WCF на одном компьютере. Поддерживает дуплексные контракты и транзакции.
  8. NetPeerTcpBinding : связь между компьютерами между одноранговыми службами. Поддерживает дуплексные контракты.
  9. NetTcpBinding : связь между приложениями WCF на компьютерах. Поддерживает дуплексные контракты и транзакции.

Чтобы добавить к принятому ответу, если вы хотите связать свой запрос JSON с объектом в WCF, используйте webHttpBinding

Вот пример этого.

  • Если вам необходимо создать привязку, которая является глобально совместимой, используйте привязку http .

  • Для внутреннего использования, но потребители находятся на разных серверах, используют привязку tcp . Это менее оперативно, но с использованием двоичного кодирования, которое выполняется быстрее.

  • Используйте привязку named pipe для внутрисерверной связи, то есть для потребителей, размещенных на одних серверах. Связывание имен с именами является самым быстрым в разрешенных привязках wcf.

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