2

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

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

我希望能够以某种方式访问​​ ServiceDescription 以获取我需要的关于每个 ServiceHost 的所有信息,而无需服务设计人员的任何工作将其提供给我。这样的事情可能吗?

4

2 回答 2

1

一种替代方法是使用 WCF 的内置运行状况监视性能监视功能。不过,这适用于个人服务级别。

于 2012-04-18T14:52:22.837 回答
1

如果您检查了Channs 链接并确信您需要推出自己的健康监控基础架构,您可能需要从ServiceHost派生或全力以赴并从ServiceHostFactoryBase派生,或者可能根据您需要实现的内容同时执行这两种操作。他们将让您在每个服务启动时访问该ServiceDescription实例。

于 2012-04-18T16:27:08.413 回答