簡體   English   中英

WCF REST與ADO.NET數據服務

[英]WCF REST vs. ADO.NET Data Services

有人可以比較和對比WCF Rest服務與ADO.NET數據服務嗎? 有什么區別以及何時使用哪個?

謝謝,

射線。

編輯 :感謝第一個答案,只是為了給我一些關於我要做的事情的背景:我有一個我計划放入雲端的Web應用程序(有一天),DAL是用ADO.NET Entity Framework構建的。 而且,我需要確定哪種Web服務數據訪問技術最適合我的情況。

我不確定我能在這里給出一個完整的答案,但我花了很多時間在PDC試圖弄清楚這一點,所以這里是一個...

這里簡短的回答是,ADO.Net數據服務旨在為ADO.Net框架(DataContext,Datasets,DataTables等)提供一個接口,該框架與Web無縫集成,使用URI和眾所周知的數據指向你的數據。 ADO.Net數據服務也用於在雲中編程ADO.Net。 微軟的雲服務“Azure”是一個新的雲編程平台,將在不久的將來發布。 有關雲服務的更多信息,請訪問此處

我發現有關ADO.Net數據服務和雲的一個很酷的事情是,作為數據源提供者的基礎DataContext可以輕松配置為將您的資源指向雲本地數據庫。 這允許您在不更改任何代碼的情況下切換DataContext! (如果你不知道的話,我印象深刻)

WCF Rest服務只是普通的WCF服務,它具有添加的功能,因此可以以RESTful方式使用它們(URI與URL,HTTTP動詞的使用,JSON,YAML等不同數據傳輸格式的使用等)。 因此,例如,如果您有一個在WCF中構建的股票行情Web服務,而不是要求調用者使用繁重的WSDL實現和ASMX,您可以使用WCF Rest功能將該服務作為JSON服務發布而不是通過AJAX消耗它而不必指向ASMX資源。 有關WCF使用休息的更多信息,請查看PDC演示文稿

如果您想開發和提供以數據為中心的服務,在某些情況下,WCF休息入門套件和WCF數據服務都可以實現許多功能,因為WCF的這兩種技術都可以以RESTful方式提供您的數據(例如,具有URL的可尋址內容和諸如xml和json的標准數據格式。 它們還配備了一系列.NET類,用於處理和處理大量網絡和Web請求,例如HTTP攔截器和緩存。

但是,WCF數據服務擁有但不支持REST入門工具包的一個優點是WCF數據服務可以以.NET實體對象標准格式的形式公開其數據(這是通過OData協議實現的)。 所以我想WCF數據服務可以在很多現實場景中為您提供更多功能。

非常感謝您的見解! 對於我的應用程序,我打算將它放在雲端,我也使用ADO.NET Entity Framework來構建我的DAL,所以聽起來像ADO.NET Data Services是我可以選擇的。

我發現有關ADO.Net數據服務和雲的一個很酷的事情是,作為數據源提供者的底層DataContext可以輕松配置為將您的資源指向雲,OR,一個內部部署數據庫。 這允許您在不更改任何代碼的情況下切換DataContext! (如果你不知道的話,我印象深刻)

您是否可以就ADO.NET數據服務+ EF如何在雲中運行這一點進行更多說明?

ADO.Net數據服務和WCF Rest服務之間的主要區別之一是REST服務重量輕,您可以通過編寫單獨的方法/函數來自定義獲取的內容,而ADO.Net數據服務更像是轉儲,您可以獲得所有內容...對於Web和RIA應用程序,在我看來,WCF Rest服務是最佳和優化的選擇......

WCF數據服務(以前稱為ADO.NET數據服務), http://msdn.microsoft.com/en-us/data/aa937697.aspx

暫無
暫無

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

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