Выбор между службами активации процессов Windows (WAS) и IIS 7

На чтение
1 мин
Дата обновления
10.03.2025
Формат:Самостоятельно с наставником
Финансовый директор
Курс «Финансовый директор» поможет вам стать экспертом в управлении финансами компании, предоставляя уникальные практические навыки для успешного принятия решений. Вы освоите бюджетирование, финансовый анализ и стратегическое планирование, работая над реальными кейсами и проектами для портфолио под руководством опытных менторов. Применяйте теорию на практике, получайте сертификат и готовьтесь к новым высотам в карьере!
113050 ₽323000 ₽
9421 ₽/мес рассрочка
Подробнее

Я пишу службу 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