WCF 資料服務

WCF Data Services 讓您能在您的應用程式中建立並使用開放資料協定(OData)服務。 OData 將你的資料暴露為可透過 URI 尋址的資源,讓你能透過表示狀態轉移(REST)的語意,特別是標準的 HTTP 動詞 GET、PUT、POST 和 DELETE,來存取和變更資料。 更多資訊請參閱 ASP.NET 動態資料內容映射(https://go.microsoft.com/fwlink/?LinkId=199029Dynamic Data Content Map)、WCF Data Services (https://go.microsoft.com/fwlink/?LinkId=199030)、以及 WCF REST 入門套件開發者指南(https://go.microsoft.com/fwlink/?LinkId=199031)。

本主題包含下列幾節:

新增 WCF 資料服務

本指南是在《動態資料網路》中的動態資料網路指南的基礎上建立的。 請依照以下步驟使用 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 檔案中,取消 config.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 將 WCF 資料服務視為 RSS 訂閱源。

  1. 在 工具 選單中,點選 網際網路選項,然後點選 內容。

  2. 顯示「網際網路選項」對話框中的「內容」面板。

  3. 點選設定以管理訂閱與網頁切片。 取消勾選 「開啟訂閱閱讀檢視」 的勾選框,然後點擊 確定。

測試 WCF 資料服務

請依照以下步驟測試您所建立的WCF資料服務。

  1. 在 除錯 選單中,點選 開始除錯。 如果被提示啟用除錯,請點擊 確定。 Internet Explorer 顯示 WCF 資料服務。

    OData 會將資料公開為可由 URI 定址的資源。 資源路徑是根據實體資料模型中的實體關係慣例建構的。 在此模型中,實體代表應用領域中的操作資料單位,如部門(DEPARTMENT)與員工(EMPLOYEE)。

  2. 在 Internet Explorer 中,輸入 URI 即可透過資料服務回傳 DB2 資料表中的所有紀錄。

    在 OData 中,你可以將實體資源視為包含實體類型實例的實體集合。 例如,URI http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders 會回傳所有來自 Northwind 資料服務且與客戶相關的訂單,且 CustomerID 值為 ALFKI。

    http://localhost:36651/DynamicData/WcfDataServiceDB2.svc/DEPARTMENTs
    
  3. 瀏覽完資料庫紀錄後關閉瀏覽器。

另請參閱

動態資料網路實體框架