写点什么

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

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

关注

评论

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

Selenium WebDriver API 学习笔记(一):元素定位

Python 自动化测试 selenium

Selenium WebDriver API 学习笔记(二):浏览器控制

Python 自动化测试 selenium

Selenium WebDriver API 学习笔记(三):浏览器控制

Python 自动化测试 selenium

公司项目引入这种方式,开发应用又快又准

引迈信息

项目管理 程序员 敏捷开发 低代码

腾讯云助力东宁智慧农业发展,共探乡村振兴产业数字化创新

科技热闻

Python+Opencv解析一段视频并逐帧保存到本地

Python 数据读取 摄像头

中国一级市场5年完成1039个投融资事件;红杉中国、启明创投、高瓴创投在2022年最为活跃-创业邦发布《2022年合成生物学产业投资报告》

创业邦

普通单双面板的生产工艺流程:图形转移

华秋电子

成都市信息安全等级保护测评机构详细名单汇总

行云管家

成都 等保 等级保护 等保测评

Zebec完成BNB Chain以及Near链上协议部署,多链化进程加速

西柚子

压电石英晶体谐振器,国产替代需求强劲

华秋电子

低代码实现探索(五十六)低代码正确方式

零道云-混合式低代码平台

Python读execl之xlrd库函数详解二:单元格相关

Python Excel 数据读取

Python读execl之xlrd库函数详解三:行、列相关

Python Excel 数据读取

WebUI自动化环境搭建

Python 自动化测试 selenium

世界上最健康的程序员作息表!「值得一看」

王中阳Go

golang 高效工作 学习方法 程序员 作息时间

小白指南:手把手教你用低代码开发一个应用页面

HarmonyOS开发者

HarmonyOS

Java高手速成 | 图说重定向与转发

TiAmo

Java 重定向

什么是BOM?与焊盘不匹配,怎么办?

华秋电子

从“服务”,到“赋能”,日日顺再次定义供应链生态建设

联营汇聚

优质的云管平台厂商重点推荐-行云管家

行云管家

云计算 云管平台 行云管家

详解 APISIX Lua 动态调试插件 inspect

API7.ai 技术团队

插件 api 网关 APISIX

精选案例 |《金融电子化》:光大银行云原生背景下的运维监控体系建设

博睿数据

云原生 可观测性 智能运维 博睿数据 精选案例

火山引擎入选《2022爱分析 · DataOps厂商全景报告》,旗下DataLeap产品能力获认可

字节跳动数据平台

大数据 云服务 数据产品

面试官:熔断和降级有什么区别?

小小怪下士

Java 后端 熔断

应用部署初探:6个保障安全的最佳实践

SEAL安全

应用部署 企业号 2 月 PK 榜 安全部署

组装式专家洞察|中国移动初瑞:基于智慧中台的“组装式”探索实践

信通院IOMM数字化转型团队

组装式应用 组装式创新 IOMM

Outcome VS. Output:研发效能提升中,谁会更胜一筹?

LigaAI

敏捷开发 研发管理 技术管理 产品管理 企业号 2 月 PK 榜

SVFormer:走进半监督动作识别的视觉 Transformer

Zilliz

计算机视觉 Transformer

Serverless Streaming:毫秒级流式大文件处理探秘

华为云开发者联盟

云计算 大数据 华为云 企业号 2 月 PK 榜 华为云开发者联盟

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