共用方式為


取用用戶端應用程式中的 OData 服務 (WCF Data Services)

您可以將 URI 提供給 Web 瀏覽器,以存取可公開 Open Data Protocol (OData) 摘要的服務。 URI 會提供資源的位址,而要求訊息會傳送至這些位址,以存取或變更資源所代表的基礎資料。 瀏覽器會發出 HTTP GET 命令,並且以 OData 摘要的形式傳回要求的資源。 如需詳細資訊,請參閱從 Web 瀏覽器存取 OData 摘要 (WCF Data Services 快速入門)

雖然 Web 瀏覽器可用來測試 OData 服務是否會傳回預期的資料,但是同時讓您建立、更新及刪除資料的實際執行 OData 服務通常會以應用程式程式碼或網頁中的指令碼語言來存取。 本主題提供如何從用戶端應用程式存取 OData 摘要的概觀。

使用 REST 語意存取及變更資料

OData 有助於確保公開 OData 摘要之服務以及取用 OData 摘要之應用程式之間的互通性。應用程式會在以 OData 為基礎的服務中傳送特定 HTTP 動作的要求訊息,以及透過針對應該執行其動作處理實體資源的 URI,存取並變更資料。 當必須提供實體資料時,會在訊息本文中以特定編碼的裝載形式提供。

HTTP 動作

OData 可支援下列 HTTP 動作,在定址資源代表的實體資料上,執行建立、讀取、更新,以及刪除作業:

  • HTTP GET:這是從瀏覽器存取資源時的預設動作。 要求訊息中不會提供任何裝載,同時會以包含所要求之資料的裝載傳回回應方法。

  • HTTP POST:在提供的資源中插入新的實體資料。 要插入的資料會於要求訊息的承載中提供。 回應訊息的裝載包含新建立之實體的資料。 其中包括任何自動產生的索引鍵值。 標頭亦包含定址新實體資源的 URI。

  • HTTP DELETE:刪除指定之資源所代表的實體資料。 要求或回應訊息中不會出現任何承載。

  • HTTP PUT:使用要求訊息之裝載中提供的新資料來取代要求之資源中的現有實體資料。

  • HTTP MERGE:由於只為了變更實體資料而執行刪除再插入資料來源的方式非常缺乏效率,因此 OData 引進了新的 HTTP MERGE 動作。 要求訊息的裝載包含在定址實體資源中必須變更的屬性。 由於 HTTP 規格中未定義 HTTP MERGE,因此可能需要進行額外處理,才能透過非 OData 感知的伺服器來路由傳送 HTTP MERGE 要求。

如需詳細資訊,請參閱 OData:作業

裝載格式

若為 HTTP PUT、HTTP POST 或 HTTP MERGE 要求,要求訊息的裝載會包含您傳送至資料服務的實體資料。 承載的內容取決於訊息的資料格式。 所有動作 (DELETE 除外) 的 HTTP 回應也包含此類裝載。 OData 支援以下列裝載格式,透過此服務來存取及變更資料:

  • Atom:OData 定義為 Atom 發行通訊協定 (AtomPub) 之延伸的 XML 型訊息編碼,可透過 HTTP 交換資料以提供 Web 摘要、Podcast、Wiki 及 XML 型網際網路功能。 如需詳細資訊,請參閱 OData:Atom 格式

  • JSON:JavaScript 物件標記法 (JSON) 是精簡型的資料交換格式,並以 JavaScript 程式語言子集為基礎。 如需詳細資訊,請參閱 OData:JSON 格式

HTTP 要求訊息的標頭中會要求裝載的訊息格式。 如需詳細資訊,請參閱 OData:作業

使用用戶端程式庫存取及變更資料

WCF Data Services 包含用戶端程式庫,能讓您更輕鬆地從以 .NET Framework 和 Silverlight 為基礎的用戶端應用程式取用 OData 摘要。 這些程式庫能夠簡化 HTTP 訊息的傳送與接收。 他們也會將訊息承載轉譯為代表實體資料的 CLR 物件。 用戶端程式庫具有兩個核心類別:DataServiceContextDataServiceQuery<TElement>。 這些類別可讓您查詢資料服務,然後使用傳回的實體資料當做 CLR 物件。 如需詳細資訊,請參閱資料用戶端 (WCF Data Services)WCF Data Services (Silverlight)

您可以使用 Visual Studio 中的 [加入服務參考] 對話方塊,加入資料服務的參考。 此工具會從參考的資料服務要求服務中繼資料,並產生代表資料服務的 DataServiceContext,同時也會產生代表實體的用戶端資料服務類別。 如需詳細資訊,請參閱產生用戶端資料服務類別 (WCF Data Services)

有一些程式庫可讓您在其他種類的用戶端應用程式中取用 OData 摘要。 如需詳細資訊,請參閱 OData SDK

請參閱

概念

存取 OData 服務 (WCF Data Services)

快速入門 (WCF Data Services)