NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:301763
用户头像

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

关注

评论

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

实战:docker搭建FastDFS文件系统并集成SpringBoot

生命在于折腾

springboot

蚂蚁上市:P7可获1200万元期权,酸酸酸酸酸...

程序员生活志

互联网热点 蚂蚁金服

秒杀全网!研发、运营必备实用工具网站

程序员生活志

工具类网站

Django框架,Flask框架和Tornado框架各有什么优缺点

奈学教育

django flask tornado

4. JSON字符串是如何被解析的?JsonParser了解一下

YourBatman

Jackson JSON库

原创 | 使用JPA全面实现DDD持久化【关于本书】

编程道与术

Java hibernate DDD JDBC jpa

如何成为一个成功的首席数据官

麒思妙想

将Arch Linux安装到U盘

Kurtis Moxley

Linux 安装操作系统

当远程工作成为未来的工作方式......

Atlassian

Atlassian Jira

如何设计一个亿级消息量的IM系统

Chank

Java Architecture Architect IM Instant Messaging

Django框架,Flask框架和Tornado框架各有什么优缺点

古月木易

django flask tornado

NameNode和SecondaryNameNode工作机制

古月木易

NameNode econdaryNameNode

计算机网络基础(十)---网络层-迪杰斯特拉算法

书旅

算法 计算机网络 网络 最短路径

第八周作业

田振宇

央行数字货币或将成为经济“内循环”的未来加速器

CECBC

数字经济 全球经济下行 降息 惠普金融深化

week08 总结

Z冰红茶

CDN百科第八期 | 我的网站到底需不需要CDN加速?

阿里云Edge Plus

网站 CDN 云直播

到底一台服务器能够支持多少TCP并发连接?

南方有乔木兮

顺势昌,逆势亡:人啊,得学会做信天翁,而不是鹧鸪鸟

非著名程序员

创业 程序员 管理 提升认知

NameNode和SecondaryNameNode工作机制

奈学教育

NameNode

QQ音乐PB级ClickHouse实时数据平台架构演进之路

腾讯云大数据

大数据

Flink 1.11 SQL 使用攻略

Apache Flink

flink

什么样的信任才值得拥有?谈一谈极客邦的5K1S文档

霍太稳@极客邦科技

一个小实验,来

池建强

算法 薪资

乘商用之风,破后疫情之浪:丁耘分享华为如何持续护航5G新价值

脑极体

国家版权局发布《关于规范摄影作品版权秩序的通知》

CECBC

电子存证 作品版权 侵权盗版 剑网2019

一周信创舆情观察(7.20~7.26)

统小信uos

第八周作业

andy

极客大学

池化技术到达有多牛?看了线程和线程池的对比吓我一跳!

王磊

Java

真香!Linux 原来是这么管理内存的

cxuan

Linux 操作系统

LeetCode题解:142. 环形链表 II,JavaScript,快慢指针,详细注释

Lee Chen

大前端 LeetCode

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