在Windows进程激活服务(WAS)和IIS 7之间进行选择

时间:2017-07-06 22:28:40

标签: c# .net wcf iis was

我正在编写一个可在服务器计算机(Windows 10 OS)上运行的WCF服务。为了托管该服务,我正在考虑WAS和IIS 7.我知道早期版本的IIS仅支持HTTP协议,但IIS 7和更高版本也支持TCP / IP。

我的WCF服务现在将由桌面/移动WCF客户端使用,所以我打算现在只使用TCP / IP。但它可能会扩展到将来包含HTTP以支持Web。

请告知我应该使用哪个主机 - WAS还是IIS?

1 个答案:

答案 0 :(得分:3)

你需要两者。

从文档(https://technet.microsoft.com/en-us/library/cc735229(v=ws.10).aspx):

  

Windows进程激活服务(WAS)管理应用程序池配置以及HTTP和其他协议的工作进程的创建和生命周期。万维网发布服务(W3SVC)和其他服务依赖于WAS。

您必须安装所需的激活(程序和功能|打开和关闭Windows功能| .Net框架高级服务| WCF服务),创建服务,在IIS中托管它,配置WCF并在IIS中配置绑定。 您可以使用IIS管理(位于IIS管理器的右上角,编辑站点|绑定...下)或命令行工具来配置绑定,如下所示:

%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -+bindings.[protocol='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