2012-08-08 76 views
1

我正在寻找一种在两个进程之间共享对象的方法。 第一个过程应创建该对象,第二个过程应该只复制它,而不对原始过程进行任何更改。在C#中的两个进程之间共享对象

有没有人有一个想法如何做到这一点?

+2

HTTP: //stackoverflow.com/questions/2004790/shared-memory-between-2-processes-applications - 如何在.NET中实现共享内存。 – user854301 2012-08-08 05:10:04

+1

@choppy不需要共享对象因为共享对象是没有意义的,当你提供只读访问时。使用'PipeStream' – Anirudha 2012-08-08 05:18:29

+0

你可以随时序列化对象..取决于它是如何构造的。 – 2012-08-08 05:54:22

回答

1

你并不需要共享内存:第一种方法能够使一个WCF(或.NET远程)服务,第二个过程就可以调用它。确保你的对象是可序列化的。

+0

这引发了第二个问题,使用pipeStream和WCF有什么区别?这是面糊的使用选择? – choppy 2012-08-08 08:01:48

+1

WCF是一个API,它允许两个进程(实际上是两个应用程序域)在同一台计算机上进行通信。使用相同的代码,只需更改配置,通信协议就可以更改:命名管道,TCP,HTTP MSMQ,... 您应该先阅读WCF教程。 – schglurps 2012-08-08 08:16:54

0
在.net2.0

或降低无法使用WCF,但你可以使用一些像图书馆WCF,例如ICE框架, 你可以下载并阅读它,下面的链接 ICe Framewrok

相关问题