Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

enter image description here

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

Ответ 2

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

Ниже приведен пример.

Ответ 3

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

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

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

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