是否可以使用 Windows 消息系统作为互操作 2 个 .NET 应用程序的一种方式?如何做到这一点?我正在寻找一种在 2 个不同的 .NET 应用程序之间传递高频数据的方法。我们尝试了 TCP/IP,但发现很难避免丢弃消息,因此我们切换到 MSMQ,它可以工作,但具有性能因素,我们不需要保留消息。
我们假设这些应用程序在同一台 PC 上运行。
既然您编辑了问题以说明应用程序在同一台 PC 上运行,我建议您使用 IPC 的命名管道 - http://msdn.microsoft.com/en-us/library/windows/desktop/aa365780( v=vs.85).aspx
如果您在同一台 PC 中,则没有理由通过 MSMQ 或 TCP/IP 堆栈,它们可以简单地使用共享内存。
如果您的流程之间的合同是干净的(特别是如果它是一种方式),您可以使用 WCF NetNamedPipeBinding 来更轻松地实现 - http://msdn.microsoft.com/en-us/library/ms752247.aspx