代码之家  ›  专栏  ›  技术社区  ›  Sören Kuklau Keith Boynton

多个同时运行的.NET IPC服务器/是否按进程ID查找正确的服务器?

  •  0
  • Sören Kuklau Keith Boynton  · 技术社区  · 14 年前

    因此,我决定为URI处理创建一个附加的应用程序,1)它不会一直运行,但只有在单击某个URI时才能通过Windows调用;2)找到正确的客户端并将URL传递给它。我用过 IpcServerChannel 在数据库客户机上 IpcClientChannel 在URI处理程序中,以便URI处理程序可以询问客户端它负责哪个数据库。

    但是,如何处理多个客户机的问题?URI处理程序如何“发现”当前正在运行的客户端(即IPC服务器),以及如何通过IPC连接到它们?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Rob    14 年前

    每个客户端应用程序启动时注册的windows服务将是处理此场景的一种相当合理的方法,因为它还可以处理URI处理。

    不过,您可能需要考虑以下几点:

    • 该服务将如何处理多个用户登录到一台电脑
    • 服务将如何处理强制终止或崩溃的客户端应用程序实例

    要回应您关于不希望URI处理程序持续运行的评论,请执行以下操作:

    如果您有客户机应用程序/URI处理程序(可能与.msi安装触发Windows Installer服务启动的方式类似),则在服务当前未运行时启动该服务,并在服务不再有任何正在运行的客户机时终止服务,您将达到该要求。