在一個非常大的項目中,可用於進程間通信的最佳和最簡單的方法是什麼?大型項目中進程間通信的最佳和最簡單的方法
我的要求是在正常的Windows窗體應用程序和Windows服務之間進行通信。
易於維護和實施的方法是首選。
謝謝
在一個非常大的項目中,可用於進程間通信的最佳和最簡單的方法是什麼?大型項目中進程間通信的最佳和最簡單的方法
我的要求是在正常的Windows窗體應用程序和Windows服務之間進行通信。
易於維護和實施的方法是首選。
謝謝
從標籤我明白,我們正在談論.NET。也許你應該嘗試微軟WCF。它將這個問題統一起來,從實際的代碼中抽象出特定的進程間(inter-service)通信技術。因此,一般來說,您將設計和編寫您的流程將用於彼此交談的接口,然後您將在XML配置文件中配置特定的通信技術。也就是說,你在「流程談論什麼」和「這個談話如何具體實施」之間有相當明確的區分。 WCF支持SOAP,TCP \ IP通信,MSMQ等,您的進程可以是IIS託管的Web服務,通常的Windows服務,控制檯應用程序等 - 所有這些都在統一框架下進行。我想,這正是你正在尋找的。
它確實取決於項目,因爲有大量的方法。
這可能取決於項目不同部分的運行位置(它們可以在不同的服務器上運行,也可以在不同的技術棧上運行)。
最常見的方法可能是Web服務。雖然這些都會帶來開銷,所以可能值得通過DLL來查看簡單的接口API。
無論您做什麼,都應仔細考慮並仔細設計,考慮安全性和性能,以及將來如何擴展或修改它。
不一定是最好或最容易....
在.NET世界嘗試MSMQ或IBM MQ消息隊列中間件。
如果通信大多是1路,那麼可以考慮使用WCF服務,這都是很好的和容易,如果你讓Visual Studio中的代碼生成器做大部分的工作適合你。
他還說,雖然容易。 WCF對我認爲的任何MS產品來說都是最糟糕的綁定和設置噩夢。當服務器是域的一部分時,嘗試讓匿名服務進行連接 - 您必須編輯系統註冊表! ACK! – 2009-04-22 03:05:49
好吧,我不熟悉你的具體情況,所以我不能說......但是從我所看到的,WCF的配置是相當直觀和詳細記錄。和通常與微軟產品和框架,如果您的方案是由微軟的方案所描述的之一,那麼事情會幾乎出的現成(與許多第三方解決方案)。無論如何,值得嘗試,對我的意見。 – 2009-04-22 07:39:13