10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

数仓调优实践丨多次关联发散导致数据爆炸案例分析改写

华为云开发者联盟

大数据 华为云 华为云GaussDB 华为云开发者联盟 华为云GaussDB(DWS)

软件测试/测试开发丨人工智能算法基本原理,如何解决实际的问题

测试人

人工智能 软件测试

HarmonyOS:NativeWindow 开发指导

HarmonyOS开发者

HarmonyOS

PAM案例——某大型医院

尚思卓越

数据库 运维 安全

什么是shell?

小魏写代码

Go语言实现GoF设计模式:适配器模式

华为云开发者联盟

开发 华为云 GoF设计模式 华为云开发者联盟

聊天记录年度报告一览无余:轻松多格式导出永久保存,深度智能分析

汀丶人工智能

人工智能 自然语言处理 深度学习 AIGC 报告生成

演唱会真假难辨?一招揭密声纹技术丨ZA科技事儿

ZA技术社区

大数据 AI 声纹识别

大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航

herosunly

小程序开发必读:小程序跳转外部的功能盘点

FN0

小程序

1688订单详情对接及实现方案

Noah

Guardrails for Amazon Bedrock 基于具体使用案例与负责任 AI 政策实现定制式安全保障(预览版)

亚马逊云科技 (Amazon Web Services)

人工智能 re:Invent 生成式人工智能 Amazon Bedrock Amazon CloudWatch

好用的电子书生成工具:Vellum 激活最新版

胖墩儿不胖y

Mac软件 电子书制作工具 电子书管理软件

软件测试/人工智能丨UIDiff检测技术

测试人

人工智能 软件测试

案例实践:某券商从 Neo4j 迁移至悦数图数据库

悦数图数据库

图数据库

大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航

爱编程的喵喵

1688订单详情接口使用指南:含代码实现获取订单信息

Noah

即拍即改!合合信息旗下扫描全能王推出首个移动端图片文字编辑功能

合合技术团队

合合信息 #科技 #人工智能 扫描全能王

关于代码质量度量和分析的一些总结

不在线第一只蜗牛

JNPF低代码——全源码、免费部署的开发框架

互联网工科生

低代码 应用开发 JNPF

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