写点什么

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

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

关注

评论

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

SpringBoot中如何优雅的使用多线程

编程江湖

JAVA开发 springboot

Aeron 是如何实现的?—— Ipc Subscription

BUG侦探

共享内存 Aeron Ipc Subscription

南瓜电影 7 天内全面 Serverless 化实践

Serverless Devs

阿里云 ECS 南瓜电影 SAE

腾讯音乐iOS开发四次面试记录

iOSer

ios 腾讯 面试题 iOS面试 腾讯音乐

【IT运维】公司内网服务器可以远程桌面连接吗?怎么连接?

行云管家

云计算 运维 IT运维 远程运维

元宇宙浪潮之下,数字身份至关重要

CECBC

跨越可观测性鸿沟|高手们都在用的“火焰图”是什么

尔达Erda

程序员 微服务 云原生 可观测性 链路追踪

Python代码阅读(第68篇):指定值出现次数

Felix

Python 编程 列表 阅读代码 Python初学者

Kyligence + 亚马逊云科技丨实现云上的精细化运营和数字化指挥

Kyligence

List 去重的 6 种方法

编程江湖

List java 编程

飞桨双十二礼包,上海“拆箱”啦!

百度大脑

人工智能

大厂高频面试题Spring Bean生命周期最详解

Tom弹架构

Java spring 源码

常见杀毒软件及其引擎的特点

喀拉峻

网络安全 病毒扫描

netty系列之:性能为王!创建多路复用http2服务器

程序那些事

Netty 程序那些事 http2 12月日更

主机入侵检测策略之基线检测

网络安全学海

网络安全 信息安全 渗透测试 安全漏洞 暴力猜解

Rust 元宇宙 14 —— 创建角色和同步

Miracle

rust 元宇宙

谈谈对微软Dapr的理解

行云创新

微软 服务网格 dapr

老电影和图片变清晰的秘密!分辨率提升400%的AI算法

百度大脑

人工智能

尚硅谷Maxwell视频教程发布!

@零度

大数据 Maxwell

十年期货股票行情数据轻松处理——TDengine在同心源基金的应用

TDengine

数据库 tdengine 时序数据库

网易云信发布两大元宇宙解决方案,打响进军元宇宙第一枪

网易云信

人工智能 音视频 元宇宙

7.《重学JAVA》--运算符

杨鹏Geek

Java 25 周年 28天写作 12月日更

【等保小知识】信息安全等级保护四级系统有哪些?

行云管家

网络安全 等级保护

中科柏诚持续推进数字网络技术,蓄力元宇宙布局

联营汇聚

npm进阶(一) 更换成淘宝镜像源以及 cnpm

No Silver Bullet

npm 12月日更

Kafka之为什么需要消息队列

编程江湖

大数据 kafka

如何搭建批流一体大数据分析架构?

Kyligence

JavaScript 中的 .forEach() 和 for...of

devpoint

JavaScript foreach for...of 12月日更

es单机安装及配置其系统服务

elasticsearch

恒源云(GPUSHARE)_【功能更新】实例日志上线,操作一目了然

恒源云

深度学习 算力加速

Go语言学习查缺补漏ing Day5

恒生LIGHT云社区

golang 编程语言

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