.net ServiceController.ExecuteCommand:如何取回数据

.net ServiceController.ExecuteCommand:如何取回数据,.net,windows-services,servicecontroller,.net,Windows Services,Servicecontroller,在.NET中,ServiceController类允许您使用ExecuteCommand方法向服务发送自定义命令 我希望能够查询服务的状态(状态的自定义概念,而不是“启动/停止”类型)。我希望使用类似于ExecuteCommand的东西直接调用服务,并获得指示状态的返回值。ServiceController中有什么东西可以让我这样做吗 假设没有,我想我必须使用某种外部进程间通信技术(例如,服务将其状态写入数据库或消息队列)。为了简单起见,您推荐什么?在ServiceController中肯定没有

在.NET中,
ServiceController
类允许您使用
ExecuteCommand
方法向服务发送自定义命令

我希望能够查询服务的状态(状态的自定义概念,而不是“启动/停止”类型)。我希望使用类似于
ExecuteCommand
的东西直接调用服务,并获得指示状态的返回值。
ServiceController
中有什么东西可以让我这样做吗


假设没有,我想我必须使用某种外部进程间通信技术(例如,服务将其状态写入数据库或消息队列)。为了简单起见,您推荐什么?

ServiceController
中肯定没有一种方法。让WCF成为最好的选择。此处的教程:

Windows提供了许多进程间通信(IPC)方法@戴维是对的,服务控制器不能执行这个动作,他很好地把你指向WCF,它是一个基于IPC能力的基础。使用IPC,您可以在ExecuteCommand调用后协调服务和应用程序

如果您不想走到WCF的尽头,您可以实现一个管道(匿名管道似乎适合这种情况)或使用windows套接字

在IPC上查看MSDN,它是您可以选择的多种途径的一个伟大的起点