AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

Sentinel集成Nacos实现动态流控规则

Java收录阁

sentinel

浅析 - CocoaLumberjack 3.6 之 FileLogger

Edmond

ios log4j CocoaLumberjack DDLog 日志轮替

C++11的类型推导详解

泰伦卢

c c++ C#

你真的理解线程么?

Simon郎

Java 后端 多线程

游戏夜读 | 如何制作互动剧?

game1night

分布式限流框架 - Sentinel

Java收录阁

dubbo sentinel

c++11新特性之列表初始化

泰伦卢

c c++ C#

c++11新特性之std::function和lambda表达式

泰伦卢

c c++ C#

RAII妙用之计算函数耗时

泰伦卢

c++ C#

程序员容易忽略的问题

Janenesome

读书笔记 程序员 编程习惯

c++11新特性,所有知识点都在这了!

泰伦卢

c++

火箭架构思维模型六元组 - 势 道 法 术 器 界

常平

架构 分布式 架构模式

Dubbo和Spring集成的原理

Java收录阁

dubbo

数据产品经理|关于产品续费率的思考

黄大路

数据挖掘 数据分析 产品经理

c++11新特性之线程相关所有知识点

泰伦卢

c c++ C#

内存对齐

泰伦卢

c c++ C#

你体验过 “心流时刻” 吗?

Janenesome

读书笔记 高效工作 碎碎念

谈知识付费

兆熊

在实战中学习项目管理

兆熊

项目管理 专栏

一位狂热崇拜亚里士多德的男士在酒吧试图勾搭一位女士

黄大路

小说 哲学

左值引用、右值引用、移动语义、完美转发,你知道的不知道的都在这里

泰伦卢

c c++ C#

c++11新特性之智能指针

泰伦卢

c++

产品周刊 | 第 14 期(20200510)

八味阁

产品 产品经理 产品设计

Spring Cloud集成Sentinel

Java收录阁

Spring Cloud sentinel

自助设备系列——推广

孙苏勇

产品 行业资讯 智能设备

Redis学习笔记(有序集合)

编程随想曲

redis

Spring Boot自动装配的原理

Java收录阁

Spring Boot

如果想了解驱动开发,请不要错过这篇。

水滴

最佳实践 开发者 程序设计 测试驱动开发实战营

c++11新特性之模板的改进

泰伦卢

c c++ C#

业务开发过程中的特殊逻辑

Janenesome

产品 碎碎念 开发

设计模式入门和策略模式

设计模式

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