在终端服务上运行的两个.net应用程序之间进行通信



我有一个用。net开发的内部ERP,正在开发Outlook Add On。我需要从我的outlook发送消息添加到我已经运行的ERP实例打开某个文件。在同一台服务器上有许多ERP实例(每个使用终端服务的用户一个实例),因此我不能使用WCF。

我希望outlook add向在用户会话上运行的ERP实例发送消息。WCF有可能吗?或者我可以使用什么其他方法?

你可以使用windows终端服务api来获得一个会话id,作为你的uri的一部分。例如,[System.Runtime.InteropServices.DllImport("wtsapi32.dll")]内部静态外部bool WTSQuerySessionInformation(系统。IntPtr hServer, int sessionId, WTS_INFO_CLASS wtsInfoClass, out System。

hServer = IntPtr。零将使用本地服务器(通常是需要的,除非您远程管理客户端会话)如果从会话内部调用,sessionId可以作为-1 (WTS_CURRENT_SESSION)传入,以获得当前会话的详细信息。

我正在尝试做完全相同的(单个服务,每个会话1个客户端),但我遇到了一个问题,即当客户端会话断开连接时,命名管道侦听器似乎正在关闭

最新更新