当使用WCF寄宿时它能带来很大的灵活性。特别的,WCF服务可以在任何操作系统进程中寄宿。服务宿主,或者仅仅成为"宿主", 负责启动和关闭服务并为控制服务提供基本的管理函数。为一个基于操作性能要求比如可用性,可信赖性和可管理性的服务选择正确的寄宿环境。
IIS和Windows 进程激活服务(WAS)有用来寄宿WCF服务的内建结构。先前特性只在IIS中可用,比如进程激活,回收和身份管理,已经被移植到WAS中并对除了HTTP协议的所有协议可用。这让WAS成为一个IIS的超级替代者,但是IIS对寄宿基于HTTP的WCF服务是很理想的。WCF通过ASP.NET 兼容模式支持很多ASMX特性。
除了IIS,对寄宿WCF服务来说管理Windows服务也是一个通用技术。这些进程由服务控制管理器(SCM)控制并有一个管理员熟悉的接口。Visual Studio有一个定义一个Windows服务的内建模板,所以在易开发和易管理只加你,管理Windows服务为自我寄宿的WCF服务提供了一个很好的候选方案。
表7.2 简要列出了选择宿主的通用条件。