我有一个由两个服务 service1 和 service2 组成的 windows 服务项目。我们如何在两个服务之间进行通信?例如,我们如何让 service2 由 service1 启动?我可以使用 ServiceController 类来执行此操作吗?你会建议做什么?
问问题
2510 次
2 回答
7
ServiceController 类包括一个采用 int 的 ExecuteCommand 方法。因此,如果您可以使用非常有限的参数,您的两个服务可以通过相互发送 ExecuteCommand 消息进行通信。
但是,正如其他发帖人评论的那样,WCF 可能是一个更好的答案。您可以在两个服务之间创建命名管道或使用 HTTP。下面可以找到两个很好的教程页面。
希望有帮助。
于 2011-12-21T16:34:09.820 回答
6
如果“通信”您的意思只是启动和停止 Service2,ServiceController
那么应该使用。
如果您需要其他类型的通信,例如将一些数据从一个发送到另一个,这ServiceController
将无济于事,您应该使用WCF
希望这可以帮助
于 2011-12-21T16:21:06.533 回答