OData v3与WCF Data Services 5.x简介

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2013/01/OData3


如果使用.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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值