有和没有.net的进程间通信

时间:2010-07-14 20:38:04

标签: .net ipc

我正在开发.net WPF应用程序,我想提出双向IPC机制。我意识到命名管道和远程处理是选项,但是我想使机制不依赖.NET来使非.NET应用程序与我的应用程序通信。

SO推荐什么作为解决方案? WM_COPYDATA?

2 个答案:

答案 0 :(得分:2)

在这种情况下,我会使用命名管道。

命名管道在本机代码和.NET中都是fully supported。它们提供了一种非常快速,高效的工作方式,并且非常容易在.NET中用于当前的开发。对于WM_COPYDATA来说,这是一个更好的选择(几乎在所有方面,IMO)。

话虽如此,但有很多Interprocess Communication options。其中许多都在.NET和本机代码中工作,包括:

  • 剪贴板
  • COM
  • 文件映射
  • Windows套接字

答案 1 :(得分:0)

命名管道不是特定于.NET的。共享内存映射甚至TCP / IP都不会。至于.NET远程处理,我会避免使用它,即使是双方都是.NET的情况。