2013-10-08 48 views
18

我在想,我可以從.net遠程處理和WCF中完成同樣的事情,那麼爲什麼WCF比.Net遠程處理更受歡迎。我可以在哪裏選擇(或在哪種情況下).Net遠程或WCF?.Net Remoting與WCF

+0

你可以用'Array'存儲同類數據元素,那麼爲什麼'Collections'是首選? –

+0

因爲數組只能存儲一種類型的數據,但集合可以存儲用戶定義的數據類型! – Saveen

+0

你是什麼意思? Array可以存儲任何東西,如果集合可以做。在內部集合使用內部陣列 –

回答

19

.NET遠程應用程序可以使用HTTP,TCP和SMTP協議,而WCF可以使用命名管道和MSMQ以及連同所有這些協議。

您可能會找到最好的答案在這裏:From .NET Remoting to the Windows Communication Foundation

結論

正如你所看到的,從.NET遠程到WCF遷移不是一個任務 你必須要害怕的。對於大多數應用程序,簡單的三步 過程可以將您的應用程序帶入新的平臺。在大多數情況下,您只需要使用 [ServiceContract]和[OperationContract]標記界面合同,使用 [DataContract]和[DataMember]標記您的數據結構,也許可以將激活模型的某些部分更改爲基於會話而不是客戶端激活的 對象。

如果你決定要採取的功能的Windows通訊基礎 優勢,從 .NET遠程對WCF的完整的遷移因此應該爲 大多數應用相當容易的事。

你也可能發現之間的性能差異的兩個A Performance Comparison of Windows Communication Foundation (WCF) with Existing Distributed Communication Technologies

遷移時用的ASP.NET Web 服務,WSE,.NET企業服務和.NET遠程對WCF編寫分佈式應用程序,性能至少可以與其他現有的微軟分佈式通信技術相媲美。 在大多數情況下,WCF比其他現有技術的性能 顯着更好。 WCF的另一個重要特性是吞吐量性能從單處理器到四路處理器都具有固有的可擴展性。

總結成績,WCF是25%,比的ASP.NET Web 服務快50%,而且比.NET遠程快大約25%。與.NET Enterprise Service的比較 取決於負載,因爲在一種情況下,WCF的速度快了近100%,但在另一種情況下,它的速度降低了近25%。 對於WSE 2.0/3.0的實現,將它們遷移到WCF顯然會提供幾乎4倍的最顯着的性能提升。

+3

感謝您的努力。 – Saveen

+2

@saveen: - 不客氣! –

+0

不能.NetRemoting使用IpcChannel(ipc://)進行管道通信? – Alex

1

代號爲Indigo的WCF(Windows Communication Foundation)是一種軟件可以相互通信的技術。

Windows Communication Foundation由幾組新類組成,這些類添加到Microsoft .NET Framework類庫的第二個版本2.0版中。

它提供了Web服務以及.Net Remoting的功能。深入研究核心 - Windows Communication Foundation爲軟件通信提供了軟件工廠模板,其中包含稱爲服務模型的建模語言和稱爲通道層的編程框架。可以通過使用配置文件來配置由地址,綁定和合約定義的端點。

WCF

+1

如果您要從網站複製/粘貼答案,請給予歸屬。否則,你是剽竊。資料來源:「[*什麼是WCF?*](http://www.c-sharpcorner.com/blogs/what-is-wcf1)」,[Vishal Mehra](http://www.c -sharpcorner.com/members/vishal-mehra3)。 –

+0

是的。我從一個網站提到它。順便說一句來源是[WCF](https://sites.google.com/site/dotnetbydeepak/home/difference-between-wcf-webservices-and-remoting) –

+0

感謝您的建議和讚賞。^_ ^剛剛編輯了上面的答案。 –