cru*_*zer 6 .net communication process
使用.NET,同一台机器中的两个进程进行通信的最佳方式(或者可能不是最好 - 只是好方法)是什么?
实际上,我正在开发的应用程序中的两个进程甚至不是两个不同的程序; 它们只是同一个EXE的两个实例.我想做一些类似单身应用程序的东西,但每个用户拥有它(意味着具有多个用户的终端服务器或Citrix或App-V服务器应该能够启动他们自己的应用程序的单个副本).如果另一个实例由同一个用户运行,它应该只将任务委托给已经运行的实例,然后退出.每个程序用户只应运行一个实例.到目前为止,我已经完成了(感谢StackOverflow)使用Mutex检测应用程序实例是否已在运行的部分.但我需要第二个应用程序实例才能将数据发送到第一个应用程序实例.
我倾向于使用命名管道和WCF的NetNamedPipeBinding,但如果你有更好的想法,我会非常感激.谢谢 :)
我会选择命名管道。
基本上,每个用户都需要一个唯一的端点。与互斥体一样,您可能会使用用户名来查找要使用的命名管道的名称。这甚至可能取代您对互斥锁的使用:尝试找出该特定的命名管道是否已经存在,如果存在,则意味着您是第二个运行的实例。
将 TCP 端口映射到用户比较困难。
哦,通过使用命名管道,我实际上是在说“通过命名管道进行远程处理”。
归档时间: |
|
查看次数: |
1146 次 |
最近记录: |