WCF Data Services

WCF Data Services,舊稱ado·net Data Services Framework,是基於ado·net Entity Framework 上的一個簡單數據供應服務,也是微軟的 REST的解決方案之一。

簡介,發展背景,架構,訪問方法,

簡介

特別為 AJAXSilverlight以及Mashup應用程式提供數據服務所設計。
目前 ado·net DSF 已經內含於 .NET Framework 3.5 Service Pack 1 中。

發展背景

以往在發展像是 AJAX 應用程式時,服務端總是需要設計一個 HTTP 接口連線埠 (end point),通常都會使用 Web Service 來實現,但是隨著Mashup 應用程式的成長,若每次都要為一份(或一組)數據撰寫 Web Service 或 HTTP end point 的話,對開發人員也是不小的負擔,而且 Web Service 只支持 XML/SOAP 的數據格式,無法兼容於 Mashup 應用程式常用的 JSON 數據格式,微軟也發現未來的 Silverlight 應用程式也是會面臨到相同問題。
當時剛好微軟的 ado·net Entity Framework 也正在開發中,它的 EDM 能力剛好可以提供給 WCF 數據訪問的能力,因此微軟特別以 ado·net Entity Framework 為基礎,開發一個專門提供 HTTP 端點數據服務的數據供應層,即為 WCF DS。

架構

WCF DS 由 Entity Framework 中的 Entity Data Model (EDM) 為基底,Data Services Framework 的角色就是做為 EDM 的 HTTP 出入口,開發人員可以利用 HTTP 動詞來訪問 Data Services Framework,某種程度來說,WCF DS 是由 EDM + WCF 而成的一種數據供應服務,它可以被放在 WCF HTTP 通道,asp·net 以及 IIS 中。
WCF DS 的數據源,可以是 ado·net Entity Framework,但如果是來自於其他的數據源,則可以利用為該數據源所實現的 LINQ Provider(有實現 IQueryable<T> 接口的組件,若要支持更新則必須要再實現 IUpdatable 接口)來做為數據源亦可。
WCF DS 除了可以將 Entity 公開到 HTTP 通道中,也可以由開發人員自行發展具商業邏輯的自定義函式來回傳數據,以及利用查詢的解譯器 (Query Interceptor) 來將查詢 Entity 的數據做過濾後再回傳。

訪問方法

WCF DS 開放 EDM 在 HTTP 通道中,因此訪問方法都要使用 HTTP 方式,GET/POST/PUT/DELETE 都可以使用,而且每個動詞所代表的意義都不同。
1.GET:查詢數據。
2.PUT:更新數據,必須要和 GET 並用,由 GET 抓下數據修改後,用 PUT 更新。
3.POST:新增數據。
4.DELETE:刪除數據。
除了使用 HTTP 動詞以外,WCF DS 另提供了 .NET Client Library 讓 .NET Framework 應用程式可以訪問,它也提供了讓 LINQ 可以訪問到 WCF DS 的能力(即 LINQ to WCF DS)。

相關詞條

熱門詞條

聯絡我們