代码之家  ›  专栏  ›  技术社区  ›  Max Yaffe

与Windows服务通信

  •  4
  • Max Yaffe  · 技术社区  · 14 年前

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

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

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

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

    对于后台-我正在用.NET应用程序替换win32/com应用程序。当前设备管理器是一个COM服务器,客户端为COM客户端。

    2 回复  |  直到 11 年前
        1
  •  5
  •   marc_s HarisH Sharma    14 年前

    您可以始终在Windows服务内部实现WCF服务,以便与外部世界进行通信。它可以使用http或net/tcp(在公司局域网环境中)或其他传输(如msmq消息队列,如果合适的话)。

    当Windows服务启动时,您还可以启动一个WCF ServiceHost 处理这些沟通需求。

    见:

        2
  •  0
  •   Eugene Mayevski 'Callback    14 年前

    只是个选择- MsgConnect 用于在相同或不同系统上的应用程序之间进行透明通信的库。专为您的任务(服务GUI通信)而设计。使用MSGConnect,您可以发送和接收包含自定义数据的消息(与在Windows中的操作非常相似)。在本地系统上,可以使用MMF或套接字传输消息,对于远程通信,可以使用TCP套接字或HTTP。