繁体   English   中英

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

[英]Best and Easiest Method for inter-process communication in large project

可用于大型项目中的进程间通信的最佳和最简单的方法是什么?

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

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

谢谢

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

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

这真的取决于项目,因为有很多方法。

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

最常见的方法可能是 Web 服务。 尽管这些会带来开销,因此通过 DLL 来查看一个简单的接口 API 可能是值得的。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM