windows 表单应用程序与 C# windows 服务通信的最有效方式

Most effective way for a windows forms application to communicate with a C# windows service

我正在构建一个 windows 服务应用程序。 widows 服务将 运行 作为域服务帐户。

我喜欢在应用程序之上安装 GUI,这样我就可以监控服务应用程序中正在完成的工作的状态。

让 WinForms(或 wpf)应用程序与我的 windows 服务代码交互的最有效方法是什么?

理想情况下,在我的 WiForms 应用程序中,我喜欢在我的 windows 服务应用程序和 send/get 数据中调用静态方法。

我可以看到这是由某些 windows 管理服务和 MMC 完成的,例如 IIS 管理 UI。

link 在线文章或示例代码会很有帮助。

谢谢,

我会看一下 WCF,特别是将 WCF 服务嵌入到您的 windows 服务中,然后您可以连接一个端点,将其暴露给需要访问它的任何人。

http://www.codeproject.com/Articles/566691/WCF-From-a-Beginners-perspective-a-Tutorial

您可以使用自定义命令让您的服务执行某些操作,但这不是双向过程,您只能向您的服务发送命令。 因此,在大多数情况下不太理想,但它很简单,如果您真的不想弄乱 WCF,您可以使用它来触发您的服务将某些状态刷新到事件日志或文本文件中...

https://arcanecode.com/2007/05/30/windows-services-in-c-sending-commands-to-your-windows-service-part-7/