我有一个相当常见的进程间通信要求 - 父进程生成一些子进程,父进程和子进程需要能够彼此进行双向通信(子进程)需要保持父进程与其状态保持同步,并且父进程需要能够检查子进程是否仍然存活 - 请注意子进程不需要相互通信。/ p>
我一直在考虑使用WCF这样做,但我是新手使用WCF进行此类IPC - 据我所知,为了获得这种双向通信,我需要父母双方进程和子进程公开WCF服务,这看起来有点像faff。
另一方面.Net Remoting使得这种通信几乎是无缝的,但是每个人似乎都认为Remoting是老套的,我应该使用WCF。
所以我很难选择我应该采取的方法: - 我的目标是尽可能简化沟通。 - 安全不是真正的问题。
我应该选择哪个?
答案 0 :(得分:4)
这两种技术都应该适合您想要做的事情。两个API之间的主要设计差异是:
WCF似乎更复杂,因为它暴露了复杂性而不是隐藏它。由于您声明的目标是消除代码复杂性,因此您也可以选择Remoting。
话虽如此,WCF将允许您稍后改进您的实施,例如改变协议,增加安全性等。只有当你完全确定你永远不需要这样做时,你应该放弃WCF。
我更喜欢WCF方法,但这是一种非常主观的偏好。
答案 1 :(得分:0)
取决于你的应用程序(父母和孩子)的健谈程度。
如果通信是基本的,你可以选择.NET Remoting,但如果你有一个更复杂的通信方案,我(个人)会选择WCF。