写点什么

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

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

关注

评论

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

高性能计算在处理和吞吐量方面的重大突破

Finovy Cloud

计算 高性能计算架构

《中国车联网TSP行业发展洞察2022》案例征集

易观分析

车联网 案例征集

元宇宙的未来商机和应用

智捷云

兆骑科创创新创业服务平台,投融资对接,线上直播路演

兆骑科创凤阁

东莞等保测评多少钱及格?哪里可以做等保测评?

行云管家

等保 等级保护 等保测评 安全等级保护

拒绝加班:巧用前端电子表格中构建公式树

葡萄城技术团队

快照有哪几种意思?如何统一管理各云主机快照,实现快速配置与回滚?

行云管家

运维 云主机 快照 IT运维

KubeEdge:下一代云原生边缘设备管理标准DMI的设计与实现

华为云开发者联盟

云计算 云原生 后端

Spark Optimizer 规则下的 BUG 排查与修复全记录

观远数据

saprk

Shuttle + Alluxio 加速内存Shuffle起飞

Alluxio

开源 OPPO Alluxio spark SQL 8月月更

腾讯云数据安全中台保护方案获“首届全国商用密码应用优秀案例”

腾讯安全云鼎实验室

云安全

商派oneX新零售系统上架华为云云商店,首次参与“828企业节”

神奇视野

腾讯云大神亲码“redis深度笔记”,不讲一句废话,全是精华

Geek_Yin

编程 程序员 架构师 #java redis 底层原理

兆骑科创承办创业赛事活动,双创服务,创业服务平台

兆骑科创凤阁

Python 教程之输入输出(10)—— 输出格式

海拥(haiyong.site)

Python 8月月更

在公司内部,做了一次 HTTP(S) 的分享

程序员小毕

程序员 面试 程序人生 https 计算机网络

招行架构师徐佳航:金融云原生与开源标准的共同生长

阿里巴巴云原生

阿里云 开源 容器 云原生 KubeVela

“中国建筑业竞争力百强”中化二建如何做知识管理?

sofiya

我用开天平台做了一个字符串检查API,hin 简单~~

华为云开发者联盟

云计算 API 华为云

MobTech MobLink Web端快速集成指南

MobTech袤博科技

JavaScript 集成 跳转访问网页

ARM 内核寄存器 和 基本汇编语言讲解

矜辰所致

汇编语言 8月月更 ARM内核 内核寄存器

SPL:跑批有这么难么

华为云开发者联盟

Java 开发

追一科技携手华为云助力中小企业数字化,Face虚拟数字人亮相828企业节

sofiya

RadonDB MySQL Kubernetes 2.2.1 发布!

RadonDB

MySQL 数据库 Kubernetes RadonDB

学习WEB前端去哪里比较好

小谷哥

TDengine3.0 新架构设计思路

TDengine

数据库 tdengine 时序数据库

一次纯线上接口异常的排查过程

南城FE

node.js 前端

行业分析| 调度行业未来趋势

anyRTC开发者

音视频 调度 快对讲 语音对讲 视频对讲

发展场景金融需要重视生态能力建设,加深对场景的渗透程度

易观分析

金融 客户 场景生态建设

MySQL基础笔记

楠羽

#开源

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