2010-11-09 59 views
3

我有什么似乎是一个相当普遍的进程间通信需求 - 一个父进程派生一些子进程,而父进程和子进程需要能够相互(子进程需要进行双向通信以使父进程保持其状态为最新状态,并且父进程需要能够检查子进程是否仍然存在 - 注意子进程不需要相互通信)。双向进程间通信(通过命名管道) - WCF或.Net Remoting?

我一直在寻找这样做使用WCF,但我是新的使用WCF这种类型的IPC - 据我所知为了得到这种双向沟通我需要两个父进程和子进程公开WCF服务,这似乎有点儿缺乏。

在另一方面.NET远程让这种沟通几乎无缝的,但每个人都似乎是Remoting是旧帽子的意见,我应该使用WCF。

所以我很努力地选择我应该采取的方法: - 我的目标是尽可能简化沟通。 - 安全不是真正的问题。

我应该选择哪一个?

+0

我会和仍然使用远程而不是WCF(特别是IPC)。 – leppie 2010-11-09 08:04:25

+0

您应该更正问题标题,WCF而不是WPF – 2010-11-09 08:15:14

回答

4

这两种技术应该是适合你想要做什么。这两种API的主要设计区别是:

  • 远程处理的目的是使所有接口看起来地方,无论其来源。
  • WCF旨在使所有接口看起来很遥远,无论它们是什么来源。

WCF似乎更复杂,因为它暴露了复杂性而不是隐藏它。既然你声明的目标是消除代码的复杂性,你最好还是去Remoting。

话虽如此,WCF将让你以后发展的实现,例如更改协议,添加安全性等等。只有当你绝对确定你将永远不需要这样做,你应该放弃WCF。

我更喜欢WCF方法的一切,但这是一个非常主观的偏好。

0

取决于你的应用程序如何健谈(父母和子女)的。

如果沟通是相当基本的,你可以去.NET远程处理,但如果你有更复杂的通信方案,我(个人)将与WCF去。