WCF 数据服务

WCF Data Services使你能够在应用程序中创建和使用开放数据协议 (OData) 服务。 OData 将数据公开为 URI 可寻址的资源,使你能够使用表示性状态传输 (REST) 的语义(特别是 GET、PUT、POST 和 DELETE 的标准 HTTP 谓词)来访问和更改数据。 有关详细信息,请参阅 ASP.NET 动态数据内容映射 () https://go.microsoft.com/fwlink/?LinkId=199029WCF 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 配置为将 WCF 数据服务作为 RSS 源进行查看。

  1. “工具 ”菜单中,单击“Internet 选项”,然后单击“ 内容”。

  2. 将显示“Internet 选项”对话框的“内容”窗格。

  3. 单击和 Web 切片的设置。 取消选中“打开源阅读视图检查框,然后单击”确定”。

测试 WCF 数据服务

按照以下步骤测试创建的 WCF 数据服务。

  1. “调试” 菜单中,单击“ 开始调试”。 如果提示 t 启用调试,请单击“ 确定”。 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. 查看完数据库记录后关闭浏览器。

另请参阅

动态数据 Web实体框架