代码之家  ›  专栏  ›  技术社区  ›  drharris

观察多个Windows服务[关闭]

  •  1
  • drharris  · 技术社区  · 14 年前

    我想输入我目前计划的设计。

    基本上,我有一些外部工具,每个工具都应该一直在运行,收集特定的数据。我的想法是为每个工具创建一个服务,总是运行和轮询工具,执行日志记录等。可能有一个工具,也可能有40个。

    但是,我需要一个应用程序来使用所有这些数据,对其运行一些数学运算,并进行图表、显示、电子邮件发送等操作。关键是,即使这个应用程序没有运行,服务也应该不断地使用数据。此外,这些服务几乎总是应该运行在与客户机应用程序本身相同的计算机上,但是将它们联网(如.NET远程处理过去所做的)的能力可能是一个有趣的特性。

    我的问题是…这是最好的设计吗?如果是,我应该如何在服务和应用程序之间进行通信?我已经研究过wcf,但它似乎是面向请求-响应web服务的,而不是持续地将数据流传输到任何可能侦听它的对象。或者,我是否应该让这些服务与使用wcf的其他web服务联系,后者随后编译数据以用于经常轮询web服务的瘦客户端查看器?

    任何链接和资源将非常感谢。.NET名称空间也非常感谢我的研究。如果我不清楚,请告诉我。

    2 回复  |  直到 14 年前
        1
  •  3
  •   James    14 年前

    只是一个想法……但是你考虑过添加后端数据库吗?所有服务都可以整理数据并将其持久化,然后需要处理信息的应用程序就可以查询数据库,而不是在服务之间设置ipc负载。

        2
  •  1
  •   John Saunders    14 年前

    wcf可以处理流。它还可以使用msmq作为传输,这将确保不会丢失任何消息,即使您的仪器开始产生大量数据。