。NET中的进程间通信

问题描述 投票:5回答:6

我有一个核心.NET应用程序,它需要生成任意数量的子进程。这些过程需要能够访问核心应用程序中的某种形式的状态对象。

最佳技术是什么?我将在进程(位图)之间移动大量数据,因此它需要快速进行。

c# .net ipc
6个回答
5
投票

WCF可能符合要求。

这里是really good article on .NET remoting,用于执行分布式深入分析。尽管远程处理已被WCF取代,但本文是相关的,并说明了如何异步进行调用,等等。

article contrasts WCF to .NET remoting-编辑:此处的关键点表明,对于小数据,WCF吞吐量胜过远程处理,但随着数据大小的增加,WCF吞吐量接近远程处理性能。


4
投票

我不愿在大数据周围移动,我倾向于将指针移到大数据周围,而不是内存映射文件。


4
投票
我有类似的要求,现在正在使用Windows Communication Foundation来执行此操作。我的数据大小可能会小一些。

3
投票
如果您确实需要进行单独的处理,那么总会有Named Pipes表现很好。

3
投票
您可以使用.NET远程处理与IpcChannel进行进程间通信(IPC)。否则,您可以搜索共享内存包装器和其他IPC表单。

0
投票
也可以使用Eneter消息传递框架。该框架提供使用代理组件的功能,当状态更改时,所有客户端都可以订阅该代理组件以获取通知。为了连接客户端与经纪人。该框架提供了命名管道,Tcp或Http。但看起来最好的方法是使用命名管道。
© www.soinside.com 2019 - 2024. All rights reserved.