在運行時將數據從一個.NET應用程序傳遞到另一個應用程序的最佳方式是什麼?將數據從一個.NET應用程序傳遞到另一個.NET應用程序
基本上我需要從一個應用程序在幾分鐘內傳輸數據的10-100千字節到另一個(本地),並獲得這個動作響應。
理想 - 要對其他應用程序事件簽署能力,並調用類的方法在另一個應用程序的能力。
謝謝!
在運行時將數據從一個.NET應用程序傳遞到另一個應用程序的最佳方式是什麼?將數據從一個.NET應用程序傳遞到另一個.NET應用程序
基本上我需要從一個應用程序在幾分鐘內傳輸數據的10-100千字節到另一個(本地),並獲得這個動作響應。
理想 - 要對其他應用程序事件簽署能力,並調用類的方法在另一個應用程序的能力。
謝謝!
既然你在.NET中這樣做,我強烈建議考慮Windows Communication Foundation。
很會照顧基礎設施(並有讓您輕鬆地重新配置不要求兩個應用程序是本地的,如果您的需求發生變化的利益)。
一旦您開始閱讀WCF,「傳遞數據」將非常明顯。以下是描述如何處理callbacks and events in WCF的文章。
在過去,我會告訴你的.NET Remoting的,但現在WCF更容易:
http://msdn.microsoft.com/en-us/library/aa730857.aspx#netremotewcf_topic7
我問老技術和新的比較混亂的OP的價值,因爲他沒有使用其中任何。 – 2010-06-28 19:28:04
我不知道他在用什麼。在WCF之前,Remoting會是明顯的選擇,我提到它只是因爲WCF不僅僅是一個遠程替代品。 – 2010-06-28 20:57:35
我同意使用WCF爲您的方案,因爲沒有要傳輸大量數據。
既然你在談論IPC,你也可以看看使用信號和共享內存。我有一個blog post比較WCF使用共享內存(在速度方面)。通過使用EventWaitHandle
,很容易在同一臺機器上的進程之間觸發事件,並且代碼非常簡單。
在WCF中,你將需要建立一個雙工服務,以獲取事件來回。在我看來,即使在進程之間進行事件時,遠程處理也更容易建立。但是,如果您需要在機器之間進行處理,請使用WCF。
WCF是在.NET 3.0中引入的,所以如果您使用的是或更高版本,我強烈推薦它。這是非常容易安裝和他們有一些快速的視頻讓你去MSDN上: http://msdn.microsoft.com/en-us/netframework/first-steps-with-wcf.aspx
它也給你的能力,設置「端點」自動讓你(一旦配置)允許通過TCP,HTTP通信,命名管道等
對不起我的回答,我沒有看到你的 – 2010-06-28 18:59:23