大型项目中进程间通信的最佳和最简单方法

时间:2009-04-21 18:58:52

标签: c# .net ipc

在一个非常大的项目中,可以用于进程间通信的最佳和最简单的方法是什么?

我的要求是在正常的Windows窗体应用程序和Windows服务之间进行通信。

首选易于维护和实施的方法。

由于

3 个答案:

答案 0 :(得分:2)

从标签中我了解到我们正在谈论.NET。也许你应该尝试Microsoft WCF。它统一了这个问题,从实际代码中抽象出特定的进程间(服务间)通信技术。因此,通常您将设计和编写流程将用于相互通信的接口,然后您将在XML配置文件中配置特定的通信技术。也就是说,你在“过程谈论什么”和“如何具体实现这种沟通”之间有相当明确的分离。

WCF支持SOAP,TCP \ IP通信,MSMQ等,您的进程可以是IIS托管的Web服务,通​​常的Windows服务,控制台应用程序等 - 所有这些都在统一的框架下。我想,这正是你要找的。

答案 1 :(得分:0)

这实际上取决于项目,因为有很多方法。

这可能取决于项目的不同部分的运行位置(它们可以在不同的服务器上运行,也可以在不同的技术堆栈上运行。)。

最常见的方法可能是Web服务。虽然这些都带来了开销,但是通过DLL查看简单的接口API可能是值得的。

无论你做什么,都应该仔细考虑和设计,考虑安全性和性能,以及将来如何扩展或修改它。

答案 2 :(得分:0)

不一定是最好的或最简单的......

在.NET世界中尝试MSMQ或IBM MQ消息队列中间件。

如果通信主要是单向的,那么考虑使用WCF服务,如果让Visual Studio中的代码生成器为您完成大部分工作,这既好又容易。