我有两个名为 TemplateService、TemplateReportService 的服务(均在一个 WCF 服务库中定义)公开给客户端应用程序。
是否可以在一个 Windows 服务下托管这两个服务?
谢谢!
对的,这是可能的。创建两个具有不同端点的ServiceHost,并在启动windows服务时将它们都打开。您甚至可以通过启用端口共享来使用相同的端口(如果使用 net.tcp 绑定)。
我个人通过扫描特定目录以查找内部包含服务的程序集(反射),在一个进程中托管了 80 多个服务。这是在一台拥有数千名用户的非常强大的机器(8 核,16GB)上运行的。完成后不久,我发现了这个链接: http: //blogs.microsoft.co.il/blogs/alon/archive/2008/03/12/hosting-plug-in-wcf-services.aspx这基本上是做同样的事情但是通过使用应用程序域可以更好地分离服务主机。在第二次尝试时,我会使用这个主机。