写点什么

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

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

关注

评论

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

鸿蒙Next网格布局Grid简单使用

auhgnixgnahz

鸿蒙Next

鸿蒙Next Grid实现拖动排序踩坑

auhgnixgnahz

鸿蒙Next

构建多维打标签算法

天翼云开发者社区

大数据

鸿蒙Next异步并发 (Promise和async/await)

auhgnixgnahz

鸿蒙Next

鸿蒙Next动态修改状态栏背景色和字体颜色

auhgnixgnahz

鸿蒙Next

鸿蒙Next实现一个带表头的横向和纵向滑动的列表

auhgnixgnahz

鸿蒙Next

鸿蒙Next网络请求HTTP和RCP的使用和对比

auhgnixgnahz

鸿蒙Next

鸿蒙Next Image常用方法总结

auhgnixgnahz

鸿蒙Next

鸿蒙Next Tabs实现底部导航进阶

auhgnixgnahz

鸿蒙Next

鸿蒙Next Scroll+List+Tabs实现关联滑动

auhgnixgnahz

鸿蒙Next

鸿蒙Next组件导航 (Navigation)

auhgnixgnahz

鸿蒙Next

鸿蒙Next MVVM模式使用

auhgnixgnahz

鸿蒙Next

​​低代码 + AI:重塑开发范式,解锁研发效率新高度​

量贩潮汐·WholesaleTide

AI

2025年成都互联网企业指南:从大厂到本土创新,精准锁定职业舞台

测试人

软件测试

鸿蒙Next应用权限管理

auhgnixgnahz

鸿蒙Next

荣耀小游戏沙龙报名开启!解锁流量增长密码

荣耀开发者服务平台

商业化 小游戏 荣耀开发者平台 荣耀远航计划 HGDD 荣耀开发者日

MindIE DeepSeek MTP特性定位策略

AI布道Mr.Jin

HarmonyOS隐私保护全攻略:从入门到精通

Turing_010

HarmonyOS应用安全全攻略:从系统到代码的全面防护

Turing_010

【新模型速递】PAI-Model Gallery云上一键部署MiniMax-M1模型

阿里云大数据AI技术

人工智能 云计算 数据处理 模型应用 大语言模型

鸿蒙Next Text长文本实现展开收起2种模式

auhgnixgnahz

鸿蒙Next

鸿蒙Next Text内容超出父容器?

auhgnixgnahz

鸿蒙Next

鸿蒙Next解决子组件全屏后margin不生效

auhgnixgnahz

鸿蒙Next

商品中心—商品B端搜索系统的说明文档

电子尖叫食人鱼

架构

IT 运维老手和新手的区别:从手动运维到一体化 IT 运维系统的跨越

智象科技

#运维 一体化运维 运维智能系统 监控与告警系统

鸿蒙Next仿微信朋友圈图片排序删除

auhgnixgnahz

鸿蒙Next

移动研发范式跃迁:跨端生态重构与AI技术双向赋能

xuyinyin

鸿蒙Next 线性布局 (Row/Column)

auhgnixgnahz

鸿蒙Next

鸿蒙Next 底部弹框绑定半模态页面(bindSheet)

auhgnixgnahz

鸿蒙Next

鸿蒙Next气泡提示(Popup)的使用

auhgnixgnahz

鸿蒙Next

AI人工智能|大模型入门(五):揭秘智能体(Agent)

测试人

软件测试

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