簡體   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