Действительно есть много вариантов.
Binding
Привязки, доступные в WCF, представляют собой набор протоколов для распространенных сценариев. Он определяет транспорт, сообщения и информацию о безопасности.
При выборе привязки вам необходимо выяснить, какая функция вам нужна.
например вам может понадобиться способ
- аутентифицируйте клиентов, так как вы не хотите, чтобы каждый мог использовать ваш сервис.
- данные, возможно, должны быть зашифрованы.
- служба требует взаимодействия с клиентами с другой платформы.
- перегрузка сообщения становится проблемой.
Если вы знаете, что клиенты всегда из точечной сети, вы можете использовать связывание по протоколу net tcp, которое работает быстрее, чем basicHttpbinding. Однако basicHttpBinding - это совместимый протокол, с которым могут без проблем общаться даже клиенты php или java.
Определите свои собственные требования к службе, а затем найдите существующую привязку, соответствующую вашим потребностям. Если не существует какой-либо существующей привязки, вы можете создать собственную привязку, которая называется настраиваемой привязкой, она может объединять функции из разных привязок. вместе для достижения цели.
Хостинг
IIS более масштабируем. Если вашей службе не требуется состояние, которое должно быть размещено в длительном процессе демона (служба Windows или консольное приложение), IIS является выбором, поскольку для ваших служб легко включить сжатие и шифрование.
Подробнее о переплете
Если вы хотите, чтобы ваш сервис вызывался в браузере, т.е. в javascript
WebHttpBinding - это хорошая точка, определенная для вас. Вы можете использовать enbableWebScript, чтобы служба понимала JSON для javascript.
Наличие
Если одна конкретная привязка не может удовлетворить все требования, вы можете выставить каждую службу в разных привязках на разных конечных точках. например хост / мыло хост / nettcp хост / json