NetTcpBinding или wsHttpBinding
У меня есть служба WCF, размещенная как служба Windows, а клиент - приложение ASP.Net, использующее методы службы WCF.
В процессе реализации безопасности я запутался, что среди netTcpBinding
/wsHttpBinding
будет подходящим для моего случая.
Скорее всего, все приложения в сцене (служба WCF, служба Windows, сайт ASP.Net) будут сидеть на разных серверах в нашем офисе, таким образом, в Интранете. Веб-сайт ASP.Net будет доступен пользователям через Интернет.
Хотя, я всегда могу использовать wsHttpBinding здесь, будет ли целесообразно установить конечную точку службы с помощью netTcpBinding
в моем случае?
Ответы
Ответ 1
Проверьте это для сравнения всех различных встроенных привязок:
Настройка привязанных к системе привязок - MSDN
Что касается вашего случая, если веб-сервер обращается к службе WCF, и вам не нужно предоставлять конечную точку для любых внешних потребителей услуги... netTcpBindnig
должно соответствовать заданию.
Ответ 2
Вы можете предоставить свою услугу более чем одной привязки, если хотите, так что вы действительно можете использовать оба.
Однако, если вы управляете клиентом и сервисом, и оба они используют WCF, netTcpBinding выполняется намного быстрее. Если у вас нет межсетевого экрана между этими двумя, я бы выбрал это.
Ответ 3
Поскольку ваши службы WCF будут доступны приложениям, сидящим в вашем офисе (INTRANET), я бы пошел с netTcpBinding.
В сценарии внутри сети рекомендуется использовать netTcpBinding, если у вас нет конкретного требования использовать другие привязки, такие как wsHttpBinding. По умолчанию netTcpBinding использует двоичную кодировку и транспортную безопасность, что обеспечивает лучшую производительность.
Следующие URL-адреса помогут получить дополнительную информацию
http://msdn.microsoft.com/en-us/library/cc949026.aspx
http://msdn.microsoft.com/en-us/library/ms730879.aspx
Ответ 4
Используйте netTcpBinding
вместо wsHttpBinding
, если вы хотите торговать интероперабельностью для производительности, зная, что вы можете легко отменить сделку, если вас не устраивают результаты (это вопрос изменения значений конфигурации).
Ответ 5
Поскольку ваш сервис WCF является сервисом Windows +1 для netTcpBinding. Хостинг netTcpBinding на IIS затруднен.