写点什么

OData v3 与 WCF Data Services 5.x 简介

  • 2013-01-13
  • 本文字数:756 字

    阅读完需:约 2 分钟

如果使用.NET 构建新的 Web Services,那么 OData 就应该处于很重要的位置,特别是在需要支持未知的第三方应用时更是如此。该技术本身支持 SOAP 与 REST 风格的消息,对于后者又提供了 ATOM(XML)与 JSON 表示。这意味着使用者可以请求最适合自身的格式。

一个不错的起始点是 Mohamad Halabi 的文章 Understanding OData v3 and WCF Data Services 5.x 。这篇文章超越了传统的快速指南,重点关注于通信协议本身。

关于 WCF Data Services(微软的 OData 实现)的一个常见误解是它被绑定到了其 ORM Entity Framework 上。Mohamad 的文章中则介绍了公开一个非 EF 数据源的做法。对于静态数据来说,这就像是通过调用 List.AsQuerable 公开一套 IQueryable 属性一样简单。微软称其为 Reflection Provider

对于更加复杂的场景,你需要参考 MSDN 上的 Custom Data Service Providers 页面。它包含了你需要实现的各种接口的链接及一篇同名文章。但遗憾的是,很多接口的文档都不太完善。

在创建 OData 服务时,你需要知道一些兼容性问题。幸好,Mohamad 还介绍了 OData V2 与 OData V3 之间的差别。你主要应该关注如何注册 JSONMessageInspector 以及 JSON 与 JSON Light 之间的差别(后者去掉了很多 OData 元数据)。

WCF Data Services 主要用于提供 CRUD 式的服务,即创建、读取、更新与删除操作。你还可以公开 RPC 风格的服务,比如说 ProcessInvoice 方法。这是通过 WebGet 与 WebInvoke 属性实现的。但遗憾的是,这要比一般的 WCF 服务多了很多限制,比如说“每个参数都必须是原生类型”。 Service Operations 页面对其进行了详尽的介绍。

修改与查询拦截器可用于重写CRUD 式的请求。使用附加的验证与安全检查来阻止操作,通过错误消息告知你希望执行的其他操作。

查看英文原文: Getting Started with OData v3 and WCF Data Services 5.x

2013-01-13 12:301848
用户头像

发布了 88 篇内容, 共 262.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

滴滴遭遇重击:12小时内损失千万订单量与超4亿成交额,背后有何启示?

EquatorCoco

滴滴 崩溃分析 滴滴出行

IT外包服务的未来发展趋势

Ogcloud

IT 外包公司 外包项目 IT 运维

获取体育比分、赛事直播源的途径,以及数据API接口的应用

软件开发-梦幻运营部

Rust std fs 比 Python 慢!真的吗!?

Databend

如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件

雪奈椰子

为什么越来越多的企业选择IT外包服务?

Ogcloud

外包 IT 外包公司 外包项目 IT 运维

整车级虚拟标定:降本增效

DevOps和数字孪生

汽车产业 虚拟汽车

飞书深诺接口自动化测试落地实战

飞书深诺技术团队

质量 AIGC #人工智能

全球79%的程序员都在考虑跳槽,你呢?

秃头小帅oi

程序员 低代码 开发

掌握HarmonyOS框架的ArkTs如何管理和共享状态数据

华为云开发者联盟

开发 华为云 华为云开发者联盟 HarmonyOS框架

C# 泛型编译特性对性能的影响

快乐非自愿限量之名

c 编程语言 编译

MySQL数据库,RDBMS术语,使用说明和报错解决的详细讲解?

百度搜索:蓝易云

MySQL 云计算 运维 RDBMS 云服务器

ubuntu20.4服务器安装mysql社区版并开放3306端口

百度搜索:蓝易云

MySQL 云计算 Linux ubuntu 云服务器

打工人福音:未来每周只需工作3天?比尔盖茨这样评价AI...

代码生成器研究

编程那么难,为什么不弄个大众一学就会的计算机

代码生成器研究

面向对象编程的弊端是什么?

代码生成器研究

要做职业规划么?我的三个机遇以及一个坚持

非晓为骁

个人成长 职业规划 坚持 目标 工作思考

如何解决在使用虾皮Shopee店铺详情API接口时遇到的问题?

技术冰糖葫芦

API 文档

虾皮Shopee店铺详情API接口返回的数据包括哪些信息?

技术冰糖葫芦

API 开发

人工智能的技术研究与安全问题的深入讨论

不在线第一只蜗牛

人工智能 安全 信息安全

从零实现一个在线相亲APP(缓解相亲尴尬的神器)

音视频开发_AIZ

直播预告丨大模型如何在健康医疗中挖出大大的花?

京东科技开发者

人工智能 大模型

KubeBlocks与OceanBase完成产品兼容互认,可以使用KubeBlocks管理你的OceanBase集群啦!

小猿姐

WPF应用开发之附件管理

快乐非自愿限量之名

开发者 微服务附件 开源WPF项目

2023~2024第三届瑞云渲染3d创造大赛报名方法

Renderbus瑞云渲染农场

云渲染 渲染农场 云渲染平台 3d渲染比赛

亚马逊云科技:探索未来云计算之窗

快乐非自愿限量之名

云计算 云原生 亚马逊云

Open AI 砸了所有人的饭碗吗?

代码生成器研究

低代码可以减少程序员哪些工作?

代码生成器研究

OData v3与WCF Data Services 5.x简介_REST_Jonathan Allen_InfoQ精选文章