与Windows服务通信

Max*_*ffe 4 windows-services

我正在寻找使用Windows服务来管理一组对象以供多个不同客户端程序使用的最佳方法.服务必须

  1. 创建与物理或虚拟设备对应的对象列表,
  2. 维护有关当前使用给定设备的进程以及可使用的设备的信息,
  3. 管理进程使用给定设备的请求,
  4. 将设备返回到未使用状态.

但是,当我查看Windows服务示例时,与服务的通信非常有限.OnCustomCommand不会向调用者返回任何信息.

那么有一种建议的方法来建立服务和各种客户之间的信息交换吗?

对于背景 - 我正在用.Net应用程序替换Win32/COM应用程序.当前设备管理器是COM服务器,客户端是COM客户端.

mar*_*c_s 5

您始终可以在Windows服务中实现WCF服务以与外界进行通信.它可以使用HTTP或Net/TCP(在公司LAN环境中)或其他传输(如MSMQ消息队列,如果适用).

当Windows服务旋转时,您还可以启动WCF ServiceHost来处理这些通信需求.

看到:

  • 几秒钟打败我.此外,如果所有通信都是本机的本地通信,则可以使用命名管道(`net.pipe`)进行非常快速的通信. (3认同)