不同用户会话中 Windows 服务和应用程序之间的通信
Posted
技术标签:
【中文标题】不同用户会话中 Windows 服务和应用程序之间的通信【英文标题】:Communication between Windows service and applications in different user sessions 【发布时间】:2009-02-19 13:06:41 【问题描述】:我有以下情况:
具有多个用户会话的 Windows Server 环境。
Windows 服务正在侦听已知端口。
自动启动的每个用户会话中的托盘应用程序。
Silverlight (SL) 应用程序正在浏览器中运行,并使用套接字和预定义端口与 Windows 服务通信。
我的目标如下:用户与 SL 应用程序交互,SL 应用程序使用套接字与 Windows 服务通信,然后 Windows 服务应与位于同一用户会话中的适当托盘应用程序通信,例如发起调用的浏览器。
Windows 服务和托盘应用程序之间的通信计划使用命名管道来完成。
问题:如何定义/传输命名管道的名称到 Windows 服务以建立正确的(Windows 服务 -> 正确用户会话中的托盘应用程序)连接?
【问题讨论】:
【参考方案1】:我没有找到所描述问题的确切解决方案。但是可以使用自定义协议概念。
SL 应用程序生成自定义协议链接,注册应用程序在用户会话中处理此类链接。之后,此类应用程序可以与正在侦听已知端口的 Windows 服务建立双向通信。
【讨论】:
以上是关于不同用户会话中 Windows 服务和应用程序之间的通信的主要内容,如果未能解决你的问题,请参考以下文章
您如何在 Windows Vista 会话 0 和桌面之间进行通信?