簡體   English   中英

.Net遠程處理而不使用.Net遠程處理?

[英].Net Remoting without using .Net remoting?

我提出了一些建議。

我有以下示例:

Appication1.exe - 具有對象MyList

Application2.exe - 需要訪問MyList並與對象交互,就好像它是從Application2創建的一樣。

我應該使用.NET Remoting(即2.0)還是WCF或其他技術堆棧? 有哪些框架可以支持這個? 每個有什么優點/缺點?

我應該注意,這更像是一個“幫助”應用程序,不會被開發團隊以外的任何人使用。

如果不了解有關您的應用程序的更多細節,很難說,但我個人不會在這種情況下使用WCF。 WCF具有非常重的管道,並且需要相當大的努力來設置和使用。 它的API也非常適合Web服務,這在您的情況下似乎有點過分。 微軟聲稱WCF取代了遠程處理,因為他們不想再支持遠程處理,但是使用了兩者,我可以說WCF不如遠程處理同類應用程序中的數據移動一樣好。

但是,有幾種方法可以將數據從一個應用程序移動到另一個應用程序,所有這些都有各自的優點和缺點。 對所有這些方法的完整討論超出了本評論的范圍。 您能否添加有關您的使用場景的更多細節? 這個列表中有哪些類型的數據,它有多大,它來自哪里,正在進行什么樣的修改,App 1是否需要查看更改,App 2是否會在其他地方發送數據完成等等......

我假設Application 1是一個生產應用程序,而Application 2是開發專用的幫助應用程序。 如果是這種情況,您的目標應該是最小化或消除與支持應用程序2相關的應用程序1中的任何額外開銷。因此,作為選項,應該消除非常重的WCF。 遠程處理也增加了開銷。

你可以序列化對象 - 也許XML適合這個?

這個問題的變量太多,無法完全回答。 您能否提供有關應用1和應用2的更多信息? 他們在哪里跑? 您感興趣的對象經常更改嗎? 他們如何保持國家?

很難說。 WCF肯定是可能的。 您當然必須控制這兩個應用程序並更改App1以支持(推送或拉動模式)數據傳輸到App2。 如果您不一定需要按需交換數據,則可以將數據庫視為傳輸數據esp的方法。 如果App1已經將一些數據寫入數據庫。 然后,您可以讓App2從那里獲取所需的數據。 或者您甚至可以使用文件系統,如果交換不經常發生。 序列化列表並使用App2獲取它。 (我只是建議,因為聽起來你正試圖將開發工具掛鈎到已經存在的東西)。

遠程處理是一種較老的技術,充滿了困難的實施和部署問題。 WCF更清晰,更容易實現。 所以,如果它介於兩者之間,我肯定會推薦WCF而不是遠程處理。

我認為合理的選擇是使用.NET遠程處理。 您必須在Application1上啟動Web服務以便與Application2進行通信。 唯一真正的缺點是“MyList”需要用MarshalByRefObject標記。 MSDN表示Remoting現在是一個有利於WCF的legecy東西(.NET 3.0)。 但據我所知,Remoting是城里唯一可以進行跨界交流的游戲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM