热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ASP.NETWebAPI已支持ODatav4.0,但WCF不会

ASP.NETWebAPI2.2forODatav4.0每日构建版现已发布。团队还在nuget上发布了OData核心库6.1版,其中包含数项Bug修复和新功能

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

\u0026#xD;\n

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

\u0026#xD;\n

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

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

已知的局限性——

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

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

\u0026#xD;\n

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

\u0026#xD;\n
\u0026#xD;\n

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

\u0026#xD;\n
\u0026#xD;\n

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

\u0026#xD;\n
\u0026#xD;\n

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

\u0026#xD;\n
\u0026#xD;\n

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

\u0026#xD;\n

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

\u0026#xD;\n

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


推荐阅读
  • 本文探讨了在Lumen框架中实现自定义表单验证功能的方法与挑战。Lumen的表单验证机制默认返回无状态的JSON格式API响应,这给初学者带来了一定的难度。通过深入研究Validate类,作者分享了如何有效配置和使用自定义验证规则,以提升表单数据的准确性和安全性。 ... [详细]
  • 通过优化模板消息机制,本研究提出了一种高效的信息化推送方案。该方案利用获取的访问令牌(access token)和指定的模板ID,实现了精准且快速的信息推送,显著提升了用户体验和信息传递效率。具体实现中,通过调用相关API接口,确保了消息的准确性和及时性,为用户提供更加便捷的服务。 ... [详细]
  • 本文探讨了如何在 Google Sheets 中通过自定义函数实现 AJAX 调用。具体介绍了编写脚本的方法,以便在电子表格中发起 AJAX 请求,从而实现数据的动态获取与更新。这种方法不仅简化了数据处理流程,还提高了工作效率。 ... [详细]
  • 微信支付授权目录配置详解及操作步骤
    在使用微信支付时,若通过WeixinJSBridge.invoke方法调用支付功能,可能会遇到“当前页面URL未注册”的错误提示,导致get_brand_wcpay_request:fail调用微信JSAPI支付失败。为解决这一问题,需要正确配置微信支付授权目录,确保支付页面的URL已成功注册。本文将详细介绍微信支付授权目录的配置步骤和注意事项,帮助开发者顺利完成支付功能的集成与调试。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • 在处理高并发场景时,确保业务逻辑的正确性是关键。本文深入探讨了Java原生锁机制的多种细粒度实现方法,旨在通过使用数据的时间戳、ID等关键字段进行锁定,以最小化对系统性能的影响。文章详细分析了不同锁策略的优缺点,并提供了实际应用中的最佳实践,帮助开发者在高并发环境下高效地实现锁机制。 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
  • 池子比率:BSV 区块链上的去中心化金融应用——Uniswap 分析
    池子比率:BSV 区块链上的去中心化金融应用——Uniswap 分析 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Spring框架入门指南:专为新手打造的详细学习笔记
    Spring框架是Java Web开发中广泛应用的轻量级应用框架,以其卓越的功能和出色的性能赢得了广大开发者的青睐。本文为初学者提供了详尽的学习指南,涵盖基础概念、核心组件及实际应用案例,帮助新手快速掌握Spring框架的核心技术与实践技巧。 ... [详细]
  • 本文深入探讨了数据库性能优化与管理策略,通过实例分析和理论研究,详细阐述了如何有效提升数据库系统的响应速度和处理能力。文章首先介绍了数据库性能优化的基本原则和常用技术,包括索引优化、查询优化和存储管理等。接着,结合实际应用场景,讨论了如何利用容器化技术(如Docker)来部署和管理数据库,以提高系统的可扩展性和稳定性。最后,文章还提供了具体的配置示例和最佳实践,帮助读者在实际工作中更好地应用这些策略。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 探讨 `org.openide.windows.TopComponent.componentOpened()` 方法的应用及其代码实例分析 ... [详细]
author-avatar
嘉苹民智79
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有