我在.NET中开发了一个内部ERP,并且正在开发Outlook Add On。我需要从我的Outlook添加消息添加到我已经运行的ERP实例以打开某个文件。在同一台服务器上有许多ERP实例(每个用户使用终端服务1个),因此无法使用WCF。
我希望添加outlook以向用户会话上运行的ERP实例发送消息。这可能与WCF有关吗?或者我可以使用其他什么方法?
答案 0 :(得分:0)
您可以使用Window Terminal Services api获取会话ID以包含在您的uri中。 例如, [System.Runtime.InteropServices.DllImport(" wtsapi32.dll&#34)] 内部静态外部bool WTSQuerySessionInformation( System.IntPtr hServer,int sessionId,WTS_INFO_CLASS wtsInfoClass,out System.IntPtr ppBuffer,out uint pBytesReturned);
hServer = IntPtr.Zero 将使用本地服务器(通常是需要的,除非您远程管理客户端会话) sessionId可以作为-1(WTS_CURRENT_SESSION)传入,以便在您从会话内部调用时获取当前会话详细信息。
我正在尝试完全相同(单个服务,每个会话1个客户端)但我遇到了一个问题,即当客户端会话断开连接时,命名管道监听器似乎正在关闭。