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 資料服務。
在 解決方案總管中,右鍵點擊專案名稱 DynamicData。 新增商品對話框會顯示。
在左側窗格的 「已安裝範本」中,選擇 Visual C#。
在中間窗格,選擇 WCF 資料服務。
在 名稱 框中輸入資料服務的名稱。 例如,輸入名稱 WcfDataServiceDB2.svc 並點 選新增。
這很重要
您必須明確地啟用對資源的存取權限,才能訪問資源或其關聯項。 若要啟用對與服務相關聯的實體資料模型中所有資源的讀寫存取,請找到 InitializeService 方法,並確保其與範例中所示相符。
配置 WCF 資料服務
在 WcfDataServiceDB2.cs 檔案中,將程式碼註解
/* TODO: put your data source class name here */替換為SAMPLEModel.SAMPLEEntities。public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities>下一步是允許存取資料服務所公開的實體。 預設情況下,並非所有實體集合都被允許存取。 每個實體集合都必須允許存取權限。
在 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; } }在 檔案 選單中,點選 「儲存WcfDataServiceDB2.cs」。
在解決方案總管中,右鍵點選 WcfDataServiceDB2.svc,選擇 「設定為開始頁面」。
設定 Internet Explorer 以配合 WCF 資料服務使用
請依照以下步驟設定 Internet Explorer 將 WCF 資料服務視為 RSS 訂閱源。
在 工具 選單中,點選 網際網路選項,然後點選 內容。
顯示「網際網路選項」對話框中的「內容」面板。
點選設定以管理訂閱與網頁切片。 取消勾選 「開啟訂閱閱讀檢視」 的勾選框,然後點擊 確定。
測試 WCF 資料服務
請依照以下步驟測試您所建立的WCF資料服務。
在 除錯 選單中,點選 開始除錯。 如果被提示啟用除錯,請點擊 確定。 Internet Explorer 顯示 WCF 資料服務。
OData 會將資料公開為可由 URI 定址的資源。 資源路徑是根據實體資料模型中的實體關係慣例建構的。 在此模型中,實體代表應用領域中的操作資料單位,如部門(DEPARTMENT)與員工(EMPLOYEE)。
在 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瀏覽完資料庫紀錄後關閉瀏覽器。