【发布时间】:2010-07-24 09:13:46
【问题描述】:
我有一个数据库客户端应用程序。有些人会运行它的多个实例(即进程)以同时连接到不同的数据库。我想让这个应用程序接受简单命令的自定义 URI 方案,例如“打开记录 123”。 URI 包含它所属的数据库,因此,取决于 URL 的内容,一个特定的进程“有资格”处理它。
因此,我决定为 URI 处理创建一个额外的应用程序,它 1) 不会持续运行,而是仅在单击某处的 URI 时通过 Windows 调用,以及 2) 找到正确的客户端并传递 URL上它。我在数据库客户端上使用了IpcServerChannel,在 URI 处理程序中使用了IpcClientChannel,以便 URI 处理程序可以询问客户端它负责哪个数据库。
但是,我该如何为多个客户处理这个问题? URI 处理程序如何“发现”哪些客户端(即 IPC 服务器)当前正在运行,以及如何通过 IPC 连接到它们?
【问题讨论】: