Я пишу службу WCF, которая будет работать на сервере (ОС Windows 10). Для размещения этой службы я рассматриваю WAS и IIS 7. Я знаю, что более ранние версии IIS поддерживают только протокол HTTP, но IIS 7 и более поздние версии также поддерживают TCP/IP.
Моя служба WCF пока будет использоваться клиентом WCF для настольных/мобильных устройств, поэтому я планирую использовать только TCP/IP. Но в будущем он может быть расширен за счет включения HTTP для поддержки Интернета.
Посоветуйте, пожалуйста, какой хост мне следует использовать — WAS или IIS?
Вам нужны оба.
Из документации (https://technet.microsoft.com/en-us/library/cc735229(v=ws.10).aspx):
Служба активации процессов Windows (WAS) управляет конфигурацией пула приложений, а также созданием и временем жизни рабочих процессов для HTTP и других протоколов. Служба публикации в Интернете (W3SVC) и другие службы зависят от WAS.
Вы должны установить необходимые активации (Программы и компоненты | Включение и выключение функций Windows | .Net framework advanced services | WCF services), создайте службу, разместите ее в IIS, настройте WCF и настройте привязки в IIS. Вы можете настроить привязки с помощью управления IIS (в верхней правой части диспетчера IIS, в разделе Edit Site | Bindings. ..) или инструмент командной строки, например:
% windir% system32 inetsrv appcmd.exe установить сайт «Веб-сайт по умолчанию» - + привязки. [протокол = 'net.tcp', bindingInformation = '808: *']
Пример командной строки и дополнительная информация здесь:
https://docs .microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-install-and-configure-wcf-activation-components
и здесь:
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-host-a-wcf-service-in-was