gpt4 book ai didi

.net - 在 .NET 中,同一台机器上的两个进程进行通信的最佳方式是什么?

转载 作者:行者123 更新时间:2023-12-04 15:16:52 24 4
gpt4 key购买 nike

同一台机器中的两个进程使用 .NET 进行通信的最佳(或者可能不是最好的——只是好的)方式是什么?

实际上,我正在开发的应用程序中的两个进程甚至不是两个不同的程序。它们只是同一个 EXE 的两个实例。我想做类似单例应用程序的事情,但每个用户都有它(意味着具有多个用户的终端服务器或 Citrix 或 App-V 服务器应该能够启动他们自己的应用程序的单个副本)。如果另一个实例由同一个用户运行,它应该将任务委托(delegate)给已经运行的实例,然后退出。该程序的每个用户只能运行一个实例。到目前为止,我已经完成了(感谢 StackOverflow)使用 Mutex 检测应用程序实例是否已在运行的部分。但我需要第二个应用程序实例才能将数据发送到第一个应用程序实例。

我倾向于为此使用命名管道和 WCF 的 NetNamedPipeBinding,但如果您有更好的想法,我将不胜感激。谢谢 :)

最佳答案

命名管道通常是最好的,但也考虑使用 MSMQ 来确保消息随时间传递。这实际上也取决于您的消息大小。 TCP 会变得很棘手,因为您需要每个用户都有一个唯一的端口。

关于.net - 在 .NET 中,同一台机器上的两个进程进行通信的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/468375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com