写点什么

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

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

关注

评论

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

演讲实录:指标平台+AI 的技术落地和未来展望

Kyligence

Kyligence Copilot

基础软件加速自主创新,openGauss成就业务“新箭头”

daydayup

opengauss

openGauss都做了哪些算子优化工作?

daydayup

opengauss

Code片段

Bert

Code片段D

Bert

基于 Graviton2处理器构建容器化基因分析工作负载

亚马逊云科技 (Amazon Web Services)

云计算

openGauss DBMind上的多指标关联性分析介绍

daydayup

opengauss

openGauss:共建数据库根社区,打造开源数据库核心竞争力

daydayup

opengauss

openGauss数据库源码解析系列文章——执行器解析

daydayup

opengauss

Code片段 GC

Bert

黄凯耀:深度解读openGauss架构创新与新特性

daydayup

opengauss

通过降本增效,提升测试价值

老张

研发效能 降本增效

ZBC Staking 即将开启,全新利好来袭

鳄鱼视界

时光“摆渡者”,让回忆“闪现”眼前

白洞计划

AI 存储

AI开发软件环境

timerring

AI

Java基础——IO流

java易二三

Java 编程 程序员

Java——二维数组的用法

java易二三

Java 基础入门

Java大数字运算之BigDecimal 类

java易二三

Java 程序员 程序猿

李士福:openGauss 自驾驶数据库内核在AI领域的探索和创新

daydayup

opengauss

深入浅出openGauss的执行器基础

daydayup

opengauss

Java干货分享—Calendar 类的使用

java易二三

Java 编程 程序员

[分词]基于Lucene8版本的混合分词器(分词合并)

alexgaoyh

中文分词 lucene Spring Boot 2 混合模型

使用 Python 处理 CSV 文件,附示例

前端毛小悠

Python

C++ 结合 opencv读取图片与视频

芯动大师

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