写点什么

ASP.NET Web API 已支持 OData v4.0,但 WCF 不会

  • 2014-03-28
  • 本文字数:1010 字

    阅读完需:约 3 分钟

ASP.NET Web API 2.2 for OData v4.0 每日构建版现已发布。团队还在nuget 上发布了OData 核心库6.1 版,其中包含数项Bug 修复和新功能,尤其是增加了对OData v4 规范的支持。不过,微软的团队表示,WCF 将不会获得OData v4 的特有功能。

最近,OData v4.0 和OData JSON Format v4.0被采纳为一项OASIS 标准。读者可以查看 OData v4.0 有哪些新功能

以下是 ASP.NET Web API 2.2 和 OData 核心库的改进——

  • 协议和格式从 V3 变到 V4
  • OData 属性路由
  • 支持在 OData 模型中定义函数并绑定到控制器动作
  • 模型别名——允许 OData 模型和 CLR Types 的类型或属性有不同的名称
  • 可以定义模型的哪些属性能够过滤、排序、扩展或导航
  • 支持 ETags
  • 支持枚举
  • 支持 $format 查询字符串选项,因此客户端可以指定格式
  • 支持单例
  • 支持包含

已知的局限性——

  • 还有许多 OData v4 功能不支持——此次发布的重点是与早期版本同等的功能以及少数几项新功能
  • OData 核心库能够序列化 OData v4 Atom 格式,但由于 Atom 规范还没有进入 CS2 阶段,所以这不是官方支持。

在客户端方面,有一个新程序包,但只支持 OData v4.0——如果客户端需要使用 V1-3 以及 V4 的服务,那么开发人员不得不在应用程序中同时使用新旧程序包。

一个有些争议的决定是,在使 WCF 成为一个构建 OData 服务的技术栈方面减少投资。OData Services 团队是这样说的——

……对于作为创建 OData 服务技术栈的 WCF Data Services,我们确实计划减少对它的投资。为了减轻由此造成的不便,我们正努力清理代码,以便使它与 OData v4 兼容,而之后,我们会将该技术栈开源。我们不计划在将 V4 的特有功能添加到 WCF DS 技术栈方面进行任何重大的投资。

不过,社区仍然希望 WCF 能支持 OData 4.0。 Adam 说——

由于我们的业务层是用 WCF DS 编写的,所以对于这个决定,我觉得我们被扔在了车轮下。我们已经花费了这么多精力来克服 WCF DS 的弱点(变更跟踪支持、性能、包含、客户端代理的可怜的 T4 支持、糟糕的 EF6 alpha 质量提供程序等),愉快地等待新的 v4 版本的发布,想不到事到如今你们竟然放弃了它。这时候切换到 Web API,看来是我们为你们的每个决定买单。我们可是微软的黄金合作伙伴。

还有其他人要求在WCF 中支持OData v4.0。我们只能等等看,微软是否会改变这项决定。

读者可以从编写一个OData v4.0 服务入手,并使用 OData 客户端代码生成器来生成客户端代理类。

查看英文原文:**** ASP.NET Web API Gets OData v4.0 Support, WCF Will Not

2014-03-28 20:462584
用户头像

发布了 256 篇内容, 共 93.5 次阅读, 收获喜欢 12 次。

关注

评论

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

解决大中型浏览器(Chrome)插件开发痛点:自定义热更新方案——2.基于双缓存更新功能模块

梁龙先森

Java chrome 大前端 浏览器 技术方案

谈谈敏捷开发概念和迭代开发方案

Learun

敏捷开发

DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座

华章IT

数据库 postgresql

重磅解读:K8s Cluster Autoscaler模块及对应华为云插件Deep Dive

华为云开发者联盟

容器 k8s 服务

如何实现后台管理系统的权限路由和权限菜单

徐小夕

Java 大前端 编辑器 H5 数据可视化

【涂鸦物联网足迹】涂鸦云平台接口说明

IoT云工坊

人工智能 物联网 API sdk 云平台

医疗界“最强大脑”落户杭州!阿里巴巴联合浙大一院共同打造

互联网

帮助企业摆脱困境,名企归乡工程师:能成功全靠有它!

Philips

敏捷开发

又一道比较运算符相关的面试题让我明白基础很重要

Gopher指北

Go 语言

终于啃完了Java核心原理+框架“面试圣经”成功五面上岸美团

小Q

Java 学习 编程 架构 面试

终于啃完了这份Java核心原理+框架“面试圣经”,成功五面上岸美团

Java架构追梦

Java 架构 面试 微服务 框架开发

会展云技术解读 | 面对突发事故,APP如何做好崩溃分析与性能监控?

京东科技开发者

云计算 云服务

揭秘在召唤师峡谷中移动路径选择逻辑?

华为云开发者联盟

算法 地图 最短路径

《Python:Python编程简介:计算机编程和机器学习入门指南》

计算机与AI

Python

架构师训练营 - 第 7 周课后作业(1 期)

Pudding

架构训练营 - 第7周课后作业 - 学习总结

Pudding

mongodb 源码实现系列 - 网络传输层模块实现三

杨亚洲(专注MongoDB及高性能中间件)

MySQL mongodb 分布式 高性能 分布式数据库mongodb

Apache DolphinScheduler 是如何走进Apache的

代立冬

大数据 数据湖调度 DolphinScheduler Apache DolphinScheduler

LeetCode题解:77. 组合,递归回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

技术分享:WebAssembly能否重新定义前端开发模式?

葡萄城技术团队

webassembly

【运维思考】如何做好云上运维服务?

嘉为蓝鲸

云计算 运维 数字化转型 数据中心 云服务

百亿级数据分表后怎么分页查询?

艾小仙

Java MySQL 数据库 编程语言 分库分表

价值超10亿美元的直播系统架构图是什么样子的?

冰河

系统架构 高并发 高性能 亿级流量 直播架构

爆料!前华为微服务专家纯手打500页落地架构实战笔记,已开源

996小迁

架构 面试 分布式 微服务 程序人生

架构师训练营第 1 期第 7 周总结

owl

极客大学架构师训练营

阿里云官方推出操作系统“等保合规”镜像 -- Alibaba Cloud Linux 等保2.0三级版

阿里云基础软件团队

内核

移动安全加固助力 App 实现全面、有效的安全防护

蚂蚁集团移动开发平台 mPaaS

安全攻防 App风险 mPaaS

每周一看:16份文档资料,程序员软硬实力全概览,总有一个适合你

小Q

Java 学习 程序员 架构 面试

【云小课】版本管理发展史之Git+——代码托管

华为云开发者联盟

git 代码管理 托管

浅谈API网关(API Gateway)如何承载API经济生态链

华为云开发者联盟

API 网关

架构师训练营第一期 - week8

习习

ASP.NET Web API已支持OData v4.0,但WCF不会_.NET_Roopesh Shenoy_InfoQ精选文章