2011-08-07 60 views
2

我只能用序列化,使用WCF等等。 但是在.Net中的两个进程之间是否有标准的通信方式?如何在进程之间进行通信?

更新:我实际上是指如何在本地进行2个进程之间的通信,当我根本不需要使用WCF,Remoting和网络时。有没有办法做到这一点?我比用硬盘或数据库存储数据更优雅。

+1

沟通什么类型的?你的意思是来回发送命令,还是只发送数据? – Jordan

+0

本地或远程?可靠还是尽力而为?同步或异步(排队)?点到点pub-sub?一种尺寸不适合所有。 –

+0

@Remus Rusanu:在当地,但根据你的下一个选择,它有不同的方式吗? –

回答

5

没有其他的信息,我建议使用WCF与命名管道配置:

What is the best choice for .NET inter-process communication?

+0

需要哪些附加信息? –

+2

只是上面提出的一些问题 - 你是否需要消息队列,pub/sub等。如果你只是想跨过进程调用方法,WCF是重新开始的方法。你可能会遇到很多“.NET Remoting”,但正如Anuj所说,在这一点上它有点陈旧。 –

+0

我不需要消息队列,发布/订阅等,但当然知道如果我愿意怎么做会很有趣。这是否意味着我需要使用其他方式(不是WCF)? –

1

你也可以看看.NET远程处理。但是对于所有的意图和目的,除非您有明确的要求满足远程处理,如进程内,跨应用程序域的通信,否则您不应该使用它。

我只看WCF的NetNamedPipeBinding。这听起来像它正是你想要的:http://www.codeproject.com/KB/WCF/wcfipcsample.aspx

而且似乎这个问题已经有了答案:

Interprocess communication for Windows in C# (.NET 2.0)

C# - WCF - inter-process communication

+0

我知道WCF,这就是为什么我在问题中提到它。我所问 - 有没有共同的做法。换句话说,微软建议做些什么? –

相关问题