写点什么

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

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

关注

评论

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

解读ICDE'22论文:基于鲁棒和可解释自编码器的无监督时间序列离群点检测算法

华为云开发者联盟

数据挖掘 数据库 时间序列 自动编码器

Serverless JOB | 传统任务新变革

Serverless Devs

Serverless SAE

集成底座项目实施规程

agileai

主数据管理 集成底座 企业服务总线 项目实施 统一身份

名师开团,倾力指导!CCF GitLink 编程夏令营来袭,亚马逊云科技开源专家携丰厚奖金,与你相约!

亚马逊云科技 (Amazon Web Services)

亚马逊云

查询语句写了limit 1,为什么依然很慢?

华为云开发者联盟

后端 开发 计算引擎 limit 1

JavaScript闭包

源字节1号

软件开发 前端开发 后端开发

陆奇:“黑客精神”过时了吗?答案是永远不会

图灵教育

nginx 程序员 服务器 计算机

昆仑芯科技加入龙蜥社区 ,赋能智慧开源,共筑AI芯生态

OpenAnolis小助手

芯片 龙蜥社区 CLA 昆仑芯科技

Apache APISIX v2.14.1 探索性版本发布,进军更多领域

API7.ai 技术团队

服务注册与发现 API网关 Apache APISIX APISIX 网关

能够发现零日漏洞模糊测试威力几何?

极狐GitLab

security DevSecOps

2022年第1季度中国跨境进口零售电商市场规模为983.1亿元

易观分析

跨境电商

GitHub 3.1K,业界首个流式语音合成系统开源!

百度开发者中心

【LeetCode】单词长度的最大乘积Java题解

Albert

LeetCode 5月月更

软件开发模型有哪些?

源字节1号

软件开发

在进行行情 tick 数据存储时,哪种数据结构查找起来更快?

TDengine

数据库 tdengine 时序数据库

新思科技探究保护供应链安全需要考虑的六个因素

InfoQ_434670063458

软件 新思科技 软件供应链

半导体erp系统和传统erp系统的区别

低代码小观

芯片 ERP 企业管理软件 半导体行业 ERP系统

低代码构建物联网平台,让物联网项目更简单

AIRIOT

物联网 低代码开发

OpenHarmony 3.1 Release版本关键特性解析——ArkUI框架又有哪些新增能力?

OpenHarmony开发者

Open Harmony

架构实战营 第 6 期 模块七课后作业

火钳刘明

#架构实战营 「架构实战营」

phpstorm 配置 Xdebug 调试

CRMEB

第一次读 “Clean” 系列,并没有觉得这是一本多好的书

博文视点Broadview

2022云原生安全发展24个洞见

青藤云安全

网络安全 容器安全 镜像安全

全自动、可视化开发,成为敏捷转型落地关键词

飞算JavaAI开发助手

AI+工业互联网:百度AI专利讲述“中国智造”

百度开发者中心

深入浅出Nginx实战与架构原理

C++后台开发

nginx 架构师 后端开发 Linux服务器开发 C++后台开发

银行应将低代码能力作为在评估厂商综合能力的一个维度

易观分析

低代码 银行

国内首个纯数字藏品元宇宙世界“ADAMeta”星城宇宙开启公测

最新动态

视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等

JackJiang

实时音视频 直播技术 即时通讯IM

七天玩转 PolarDB-X 开源训练营 完成任务更有AirPods大奖等你拿!

阿里云数据库开源

数据库 阿里云 开源 分布式 PolarDB-X

手把手教你打造一套最牛的知识管理系统

小炮

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