【发布时间】:2017-06-19 09:22:38
【问题描述】:
我正在开发一个带有 Windows 服务和前端 UI 的系统,用于配置和控制 Windows 服务。我将使用 .net 4.6。
该服务将生成多个服务器,用户可以通过 UI 创建、启动和停止这些服务器。
研究让我的 UI 控制我的服务并从服务器接收状态信息的最佳方式。
根据我的研究,我发现了这些:
SQLITE - 创建一个消息队列,UI 将命令写入该消息队列,服务器将定期读取并响应另一个消息队列。不理想,因为它不是活的,需要一个轮询系统。
命名/匿名管道 - 实时请求/响应。可以,但是在处理与单个服务器通信的多个客户端时有点笨拙。
WCF - 实时请求/响应。除了用户需要担心为系统配置一个有效的端口来运行之外,它很好并且易于实现。
滚动我自己的通信协议 - 实时请求/响应,但同样的问题适用于选择端口号。
当今的技术还缺少什么?
【问题讨论】:
-
消息队列怎么样?那里有很多 - MSMQ、AMQ、RabbitMQ 只是我脑海中浮现的前三个......你也可以使用 SignalR 来处理轻量级消息。
-
@ZoharPeled 谢谢,我会调查这些。
标签: c# .net wcf ipc named-pipes