2012-04-18 78 views
2

我想创建一个服务,其任务是监视在同一进程中运行的其他服务,然后报告基本信息,如健康状况或服务依赖性。我无法找出让我的监控服务访问有关其他服务的详细信息的最佳方式,而无需让每个服务发布其元数据或公开其监控服务可以与之通信的一些自定义端点。如果我加载配置,并通过它读取,我可以得到最那里的方式,但这种方法也有几个缺点:WCF服务可以访问在同一进程中运行的其他ServiceHosts吗?

  • 获取绝对URI为每个端点是很困难的, 特别是使用IIS托管或fileless时激活。
  • 这是编程方式将无法在任何配置,由监控服务

读我想什么,能够做的就是以某种方式访问​​和serviceDescription得到我需要有关的所有信息每个ServiceHost,而不需要服务设计师的任何工作给我。是这样的可能吗?

+0

如果你展示了如何配置宿主环境以使当前服务在同一进程中运行,这将有所帮助。 – 2012-04-18 14:52:05

+0

也许我的术语不太对。 “在同一个过程中”是指配置为托管在同一个Windows服务或Web应用程序内的服务。您将在'system.serviceModel/services'中定义的每个服务。 – mclark1129 2012-04-18 15:13:39

回答

1

如果您检查Channs links并确信你需要推出自己的健康监测的基础设施,你可能需要无论是从ServiceHost派生或全力以赴,从ServiceHostFactoryBase得到或可能做到既取决于你需要什么执行。他们会让您访问每个服务的ServiceDescription实例,因为它正在启动。

相关问题