WCF 資料服務

WCF Data Services可讓您在應用程式中建立及取用開放資料通訊協定 (OData) 服務。 OData 會將您的資料公開為 URI 可定址的資源,可讓您使用表示狀態傳輸的語意來存取和變更資料, (REST) ,特別是 GET、PUT、POST 和 DELETE 的標準 HTTP 動詞。 如需詳細資訊,請參閱ASP.NET Dynamic Data Content Map (https://go.microsoft.com/fwlink/?LinkId=199029) 、WCF Data Services () https://go.microsoft.com/fwlink/?LinkId=199030 ,以及WCF REST 入門套件 (https://go.microsoft.com/fwlink/?LinkId=199031) 開發人員指南。

本主題包含下列幾節:

新增 WCF 資料服務

本逐步解說是以動態資料 Web 中的動態資料 Web 逐步解說為基礎。 請遵循下列步驟,使用 Visual Studio 範本建立 WCF 資料服務。

  1. 方案總管,以滑鼠右鍵按一下專案名稱DynamicData。 接著會顯示 [加入新項目] 對話方塊。

  2. 在 [ 已安裝的範本] 下方的左窗格中,選取 [Visual C#]。

  3. 在中央窗格中,選取 [WCF 資料服務]。

  4. 在 [ 名稱] 方塊中,輸入資料服務的名稱。 例如,輸入 名稱 WcfDataServiceDB2.svc ,然後按一下 [ 新增]。

重要

您必須先明確啟用資源的存取權,才能存取資源或關聯。 若要啟用與服務相關聯之實體資料模型中所有資源的讀取和寫入權限,請找出 InitializeService 方法,並確定它符合範例中顯示的內容。

設定 WCF 資料服務

  1. WcfDataServiceDB2.cs 檔案中,將程式碼批註 /* TODO: put your data source class name here */ 取代為 SAMPLEModel.SAMPLEEntities

    public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities>
    

    下一個步驟是允許存取資料服務所公開的實體。 根據預設,不允許存取所有實體集。 每個實體集都必須允許存取。

  2. WcfDataServiceDB2.cs 檔案中,取消批註包含 組態的程式碼。SetEntitySetAccessRule。 以星號取代 MyEntitySet (*) ,將 AllRead 取代 為 All

    using System;
    using System.Data.Services;
    using System.Data.Services.Common;
    using System.Collections.Generic;
    using System.Linq;
    using System.ServiceModel.Web;
    
    public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities>
    {
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(DataServiceConfiguration config)
        {
            // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
            // Examples:
            config.SetEntitySetAccessRule("*", EntitySetRights.All);
            // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
        }
    }
    
    
  3. 在 [ 檔案] 功能表中,按一下 [ 儲存 WcfDataServiceDB2.cs]。

  4. 在 方案總管中,以滑鼠右鍵按一下[WcfDataServiceDB2.svc],然後選取 [設定為起始頁]。

設定 Internet Explorer 以搭配 WCF 資料服務使用

請遵循下列步驟來設定 Internet Explorer 以 RSS 摘要方式檢視 WCF 資料服務。

  1. 在 [ 工具] 功能表中,按一下 [網際網路 選項],然後按一下 [ 內容]。

  2. [網際網路選項] 對話方塊的 [內容] 窗格隨即顯示。

  3. 按一下 [摘要和網頁配量] 的[設定]。 取消選取 [ 開啟摘要閱讀檢視 ] 核取方塊,然後按一下 [ 確定]。

測試 WCF 資料服務

請遵循下列步驟來測試您已建立的 WCF 資料服務。

  1. 在 [ 偵錯] 功能表中,按一下 [ 開始偵錯]。 如果系統提示您啟用偵錯,請按一下 [確定]。 Internet Explorer 會顯示 WCF 資料服務。

    OData 會將資料公開為可由 URI 定址的資源。 資源路徑會根據實體資料模型的實體-關聯性慣例來建構。 在此模型中,實體代表應用程式域中資料的作業單位,例如「離職」和「採用者」。

  2. 在 Internet Explorer 中,輸入 URI,以透過資料服務從 DB2 資料表傳回所有記錄。

    在 OData 中,您會將實體資源定址為包含實體類型實例的實體集。 例如,URI http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders 會從 Northwind 資料服務傳回所有與客戶相關的訂單,而客戶具有 ALFKI 的 CustomerID 值。

    http://localhost:36651/DynamicData/WcfDataServiceDB2.svc/DEPARTMENTs
    
  3. 當您完成檢視資料庫記錄時,請關閉瀏覽器。

另請參閱

動態資料 WebEntity Framework