WCF服务能否访问在同一进程中运行的其他ServiceHosts?

WCF服务能否访问在同一进程中运行的其他ServiceHosts?,wcf,service,monitoring,servicehost,Wcf,Service,Monitoring,Servicehost,我想创建一个服务,其工作是监视在同一进程中运行的其他服务,然后报告运行状况或服务依赖性等基本信息。我很难找到监视服务访问其他服务详细信息的最佳方式,而不必让每个服务发布其元数据或公开监视服务可以与之通信的某个自定义端点。如果我加载配置并通读它,我可以获得大部分信息,但这种方法有一些缺点: 获取每个端点的绝对URI可能很困难, 特别是在使用IIS托管或无文件激活时 任何以编程方式完成的配置都无法被监控服务读取 我希望能够以某种方式访问ServiceDescription,以获取有关每个Serv

我想创建一个服务,其工作是监视在同一进程中运行的其他服务,然后报告运行状况或服务依赖性等基本信息。我很难找到监视服务访问其他服务详细信息的最佳方式,而不必让每个服务发布其元数据或公开监视服务可以与之通信的某个自定义端点。如果我加载配置并通读它,我可以获得大部分信息,但这种方法有一些缺点:

  • 获取每个端点的绝对URI可能很困难, 特别是在使用IIS托管或无文件激活时
  • 任何以编程方式完成的配置都无法被监控服务读取

我希望能够以某种方式访问ServiceDescription,以获取有关每个ServiceHost的所有信息,而不需要服务设计者的任何工作来提供给我。这样做可能吗?

一种替代方法是使用WCF的内置和功能。不过,这适用于单个服务级别。

如果您已经检查并确信需要推出自己的健康监测基础架构,则可能需要从中派生或全力以赴地派生,或者根据需要实现的内容同时执行这两种操作。他们将允许您访问每个服务的
servicescription
实例,因为它是旋转的。

如果您演示如何配置托管环境以使当前服务在同一进程中运行,这将有所帮助。也许我的术语不太正确。“在同一进程中”是指配置为托管在同一windows服务或web应用程序中的服务。您将在“system.serviceModel/services”中定义的每个服务。