在我们的项目中,我们有许多程序在计算机内部和内部网络上相互通信。为了解决这个问题,我们今天使用 COM/DCOM。 然而,我们认为 DCOM 太复杂了。如何为每个版本的 Windows 配置安全设置更改。
因此,我们正在寻找一种协议(protocol),使我们在不同 Windows 计算机上的不同程序之间能够进行通信,并且没有像 DCOM 那样多的开销。
程序是用C++/MFC和C#编写的
安全性不是那么重要,因为系统运行在一个完全脱离其他网络的小型本地网络上。
最佳答案
如果您需要有保证的消息传递和交易支持 - 最好的选择是使用任何消息传递子系统。如果您完全确定您的所有系统都将在 Windows 机器上运行 - MSMQ 是您的选择。它可以从 Windows 组件设置轻松安装。 如果您希望某些节点在其他操作系统上工作 - 潜伏更多关于 RabbitMQ 的信息。 可以使用多种消息传递子系统,例如 IBM MQ 或 Tibco Messaging。
正如上面提到的 - 我同意 MassTransit 可能是与 MSMQ 一起工作的一个很好的选择,但需要遵循一些初步的学习和架构方法。开源且免费使用。 NServiceBus 是同样的野兽,可能更精致,但它不是免费使用的。对我来说非常昂贵。
如果您决定使用 RabbitMQ,请查看 EasyNetQ 包装器。
但是,如果您不需要保证应用程序之间的交付——为什么不通过 MVC4 使用 REST 服务。它的设置速度要快得多,您将能够轻松支持其他平台客户端,例如 iOS 或 Android 设备。
关于c# - 通过网络在应用程序之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20607601/