Я ищу некоторые хорошие технические детали по теме привязок WCF, мне интересно знать следующие вещи.
- Список различных привязок WCF с особым назначением и ограничением.
- Совместимость / Взаимодействие с другой платформой, например, использование WCF-сервиса в Java, PHP-клиенте. Какая привязка поддерживается, а какая нет.
- Если я хочу получать / публиковать защищенные данные через API-интерфейс службы, какой привязке следует использовать, если клиентское приложение находится в Java или Php?
Я просматривал разные материалы через Интернет, но это не было подробно и несколько разбросано. Ожидание хороших ответов.
Solutions Collecting From Web of "Различные привязки WCF, их отличия и совместимость с другими платформами"
Выбор правильной привязки WCF
- BasicHttpBinding : базовое взаимодействие с веб-сервисами. Предоставляет услуги WCF в качестве устаревших веб-сервисов ASMX. Используется для взаимодействия. По умолчанию безопасность отсутствует.
- WSHttpBinding : веб-службы с поддержкой WS- *. Поддерживает транзакции и надежную передачу сообщений.
- WSDualHttpBinding : веб-службы с двусторонним контрактом и поддержкой транзакций.
- WSFederationHttpBinding : веб-службы с интегрированной безопасностью. Поддерживает транзакции.
- MsmqIntegrationBinding : связь непосредственно с приложениями MSMQ. Поддерживает транзакции.
- NetMsmqBinding : связь между приложениями WCF с использованием очереди. Поддерживает транзакции.
- NetNamedPipeBinding : связь между приложениями WCF на одном компьютере. Поддерживает дуплексные контракты и транзакции.
- NetPeerTcpBinding : связь между компьютерами между одноранговыми службами. Поддерживает дуплексные контракты.
- NetTcpBinding : связь между приложениями WCF на компьютерах. Поддерживает дуплексные контракты и транзакции.
Чтобы добавить к принятому ответу, если вы хотите связать свой запрос JSON с объектом в WCF, используйте webHttpBinding
Вот пример этого.
-
Если вам необходимо создать привязку, которая является глобально совместимой, используйте привязку http
.
-
Для внутреннего использования, но потребители находятся на разных серверах, используют привязку tcp
. Это менее оперативно, но с использованием двоичного кодирования, которое выполняется быстрее.
-
Используйте привязку named pipe
для внутрисерверной связи, то есть для потребителей, размещенных на одних серверах. Связывание имен с именами является самым быстрым в разрешенных привязках wcf.
Используйте привязки соответствующим образом, сделайте ваш проект лучше всего.