客户端应用程序与 Windows 服务与?

Client App vs Windows Service vs?

我目前正在为我们组织的一组应用程序研究一些重新架构。我们目前有一组 10-15 个奇怪的独立应用程序,它们相互通信并提供客户端软件和硬件之间的中间级别。

当前模型的问题是许多单独的应用程序,这会增加内存开销、通信延迟、系统膨胀,并且在这些应用程序崩溃的情况下很难从问题中恢复。

我正在考虑将应用程序组合成 1-2 个逻辑单元,以帮助解决其中的一些问题。困境在于如何做好这件事:

目标是拥有一个始终在线的系统,该系统将处理所有客户端硬件通信,而且还具有丰富的管理员用户配置 UI 能够与所有单独的组件通信该系统并提供 config/etc 功能。拥有一个 WinForms/WPF 应用程序将允许管理员用户轻松访问系统配置并提供实时反馈(摄像头反馈等),但会让管理员不小心关闭 window。有一个服务完成所有这些工作很棒,但我不确定如何提供丰富的管理员用户 UI 来交互和更改此服务。

有什么值得一读的想法或链接吗?

谢谢!

只是想我会为可能有类似问题的其他人更新我自己的问题。

我使用的是一个集中式 Windows 服务,该服务为其多个子组件公开多个 WCF 端点。位于其之上的是 UI 应用程序,它通过 WCF 端点与 Windows 服务通信。为了使构建和调试更容易,当 运行 处于调试状态时,Windows 服务被配置为 运行 作为控制台应用程序。

到目前为止,这个解决方案似乎很有效!