Различные привязки WCF, их различия и совместимость с другими платформами
Я ищу некоторые хорошие технические подробности по теме привязок WCF, мне интересно узнать следующие вещи.
- Список различных привязок WCF с их особым назначением и ограничениями.
- Совместимость/Совместимость с другими платформами, такими как использование службы WCF в Java, PHP-клиенте. Какая привязка поддерживается, а какая нет.
- Если я хочу получать/публиковать защищенные данные через API службы, какую привязку мне следует использовать, если клиентское приложение находится на Java или Php?
Я просматривал различные материалы в Интернете, но они не являются подробными и несколько разрозненными. Жду хороших ответов.
3 answers
- Базовая привязка HttpBinding: Базовая связь с веб-службой. Предоставляет службы WCF в качестве устаревших веб-служб ASMX. Используется для обеспечения совместимости. По умолчанию безопасность отсутствует.
- Привязка wsHttpBinding: Веб-службы с поддержкой WS-*. Поддерживает транзакции и надежный обмен сообщениями.
- WSDualHttpBinding: Веб-службы с поддержкой дуплексных контрактов и транзакций.
- wsfederationhttpbinding: Веб-службы с федеративной безопасностью. Поддерживает транзакции.
- Привязка MSMQ к интеграции: Связь напрямую с приложениями MSMQ. Поддерживает транзакции.
- Привязка NETMSMQ: Связь между приложениями WCF с помощью очереди. Поддерживает транзакции.
- Привязка к сетевому имени: Связь между приложениями WCF на одном компьютере. Поддерживает дуплексные контракты и транзакции.
- Привязка NetPeerTcpBinding: Связь между компьютерами через одноранговые службы. Поддерживает дуплексные контракты.
- Привязка NetTcpBinding: Связь между приложениями WCF на разных компьютерах. Поддерживает дуплексные контракты и транзакции.
Чтобы добавить к принятому ответу, если вы хотите привязать свой запрос JSON к объекту в WCF, используйте Привязку webHttpBinding
Вот пример этого.
Если вам необходимо создать привязку, которая является глобально совместимой, используйте привязку
http
.Для внутреннего использования, но потребители на отдельных серверах используют привязку
tcp
. Он менее совместим, но использует двоичное кодирование, которое работает быстрее.Используйте привязку
named pipe
для внутрисерверной связи, то есть для потребителей, размещенных на тех же серверах. Привязка именованного канала - самая быстрая из разрешенных привязок wcf.
Использовать привязки соответственно, сделайте свой проект лучшим.