我想对我目前计划的设计进行输入。
基本上,我有一些外部仪器,每个都应该一直在运行,收集特定的数据。我的想法是为每个人创建一个服务,总是运行和轮询仪器,执行记录等。可能有一个仪器,或者可能有40个。
但是,我需要一个应用程序来使用所有这些数据,在其上运行一些数学,并进行图表,显示,电子邮件等。即使这个应用程序没有运行,服务也应该不断消耗。数据。此外,这些服务几乎应该始终与客户端应用程序本身在同一台机器上运行,但是将它们联网的能力(如.NET Remoting曾经做过)可能是一个有趣的功能。
我的问题是......这是最好的设计吗?如果是,我该如何进行服务和应用程序之间的通信?我已经研究过WCF,但它似乎是针对请求 - 响应Web服务,而不是将数据连续地传输到任何可能听取它的内容。或者,我是否应该使用WCF联系其他Web服务,然后编译数据以便在经常轮询Web服务的瘦客户端查看器中使用?
非常感谢任何链接和资源。我也很感激.NET命名空间供我研究。如果我不清楚某些事情,请告诉我。
答案 0 :(得分:3)
只是一个想法......但是你考虑过添加一个后端数据库吗?所有服务都可以整理数据并保留它,然后您需要处理信息的应用程序可以只查询数据库,而不是在服务之间设置IPC负载。
答案 1 :(得分:1)
WCF可以处理流媒体。它还可以使用MSMQ作为传输,即使您的仪器开始生成大量数据,也可以确保不会丢失任何消息。