首页 > 编程语言 >ASP.NET Core OData 9 正式发布

ASP.NET Core OData 9 正式发布

时间:2024-10-09 11:59:41浏览次数:9  
标签:Core ASP OData options JSON 编写 NET Microsoft

我们很高兴地宣布,ASP.NET Core OData 9 已正式发布,并在 NuGet 上提供:

此版本的主要亮点是将 OData .NET 依赖项更新到 8.x 主版本。 通过更新依赖项,我们能够利用 Microsoft.OData.Core 8.x 和 Microsoft.OData.Edm 8.x 版本中引入的改进和新功能。

ASP.NET Core OData 9 版本将仅支持 .NET 8 或更高版本。

OData .NET 8 官方发布公告解决了该版本中引入的主要更改。建议阅读这篇文章以熟悉这些变化。

在本文中,我们将探讨其中一些更改如何影响 ASP.NET Core OData 库,以及如何在可能的情况下切换旧行为。

请求和响应负载中的字符编码

在 OData .NET 8 中,我们引入了一个新的 JSON 编写器,它在后台使用 .NET Utf8JsonWriter 来编写请求和响应有效负载。新的 JSON 编写器速度明显更快,并且是 ASP.NET Core OData 9 中的默认编写器。

您可能会观察到输出负载上的字符编码存在差异。我们将在以下各节中介绍这些差异。

编码的字符子集

在其默认配置中,新的 JSON 编写器不会像旧版 (OData .NET 7) 那样对大量字符进行编码。

默认情况下,旧版 JSON 编写器对所有整数值小于 32 且大于 127 的字符进行编码,基本上都是非 ASCII 字符。这计算出大约 65440 个字符!可以通过将 option 传递给默认的 JSON 编写器工厂构造函数来覆盖旧版 JSON 编写器的默认配置。使用这种替代配置,将对大大减少的字符子集进行编码。ODataStringEscapeOption.EscapeOnlyControls

新的 JSON 编写器使用默认情况下配置了 encoder 选项的基础。编码的结果字符集要小得多。Utf8JsonWriterJavaScriptEncoder.UnsafeRelaxedJsonEscaping

下面是一个插图 – 以 OData 服务的代码示例形式,演示了使用新的 JSON 编写器时输出有效负载的外观:

// Model
namespace Ver900Sample.Models
{
    public class Order
    {
        public int Id { get; set; }
        public decimal Amount { get; set; }
        public string Note { get; set; }
    }
}

// Controller
using Microsoft.AspNetCore.OData.Query;
using Microsoft.AspNetCore.OData.Results;
using Microsoft.AspNetCore.OData.Routing.Controllers;
using Ver900Sample.Models;

namespace Ver900Sample.Controllers
{
    public class OrdersController : ODataController
    {
        private static readonly List<Order> orders = new List<Order>
        {
            new Order { Id = 1, Amount = 130m, Note = "a - z, α - Ω" },
            new Order { Id = 2, Amount = 170.50m, Note = "

标签:Core,ASP,OData,options,JSON,编写,NET,Microsoft
From: https://www.cnblogs.com/yswenli/p/18453938

相关文章

  • 学习011-08-03-02 Numeric Properties in EF Core(EF Core中的数字属性)
    NumericPropertiesinEFCore(EFCore中的数字属性)TheexamplebelowillustrateshowtoimplementNumericPropertiesinanEFCoreclass.下面的示例说明了如何在EFCore类中实现数字属性。C#publicvirtualdoubleDoubleProperty{get;set;}publicvirtual......
  • asp网站提示数据库连接错误怎么办
    ASP网站出现数据库连接错误时,可以按照以下步骤进行排查和解决:检查连接字符串:确认数据库连接字符串是否正确。包括服务器地址、数据库名称、用户名和密码等信息。验证数据库服务状态:确保数据库服务正在运行,并且可以通过网络访问到。可以尝试通过其他工具(如SQLServerMan......
  • C#/.NET/.NET Core技术前沿周刊 | 第 8 期(2024年10.01-10.06)
    前言C#/.NET/.NETCore技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NETCore领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿,推荐或自荐优质文章/项目/学习资源等。......
  • 4、.Net 快速开发框架:Blog.Core - 开源项目研究文章
    Blog.Core是一个基于.NETCore的开源博客系统,旨在提供一个简单、易用且功能丰富的博客平台。它采用最新的.NET技术栈,包括但不限于ASP.NETCore、EntityFrameworkCore、RazorPages等,以确保高性能和良好的开发体验。主要特性跨平台:作为.NETCore应用程......
  • Metasploit渗透测试框架学习(一)基本使用教程
    1.Metasploit框架结构1.1总览基础库文件Rex为最底层,实现网络套接字、网络应用协议、客户端服务端交互、数据库支持等framework-core实现与上层模块交互的接口framework-base对framework-core的扩展封装,用于提供各种接口供用户调用基于framework-base实现的六大模块Ex......
  • Intel core 2 QX6600 CPU
    目录简介参数1.基本规格2.热设计功耗(TDP)3.内存支持4.架构与特性5.其他信息参考链接简介Intelcore2QX6600CPU中文名QX是一款IntelExtreme版处理器,具有解锁的倍频,并且在发布时是最快的。双核和四核的非X型号实际上在工作站系列中没有任何作用,除了以更高的速度运......
  • EFCore 分表
    PrograminternalclassProgram{staticasyncTaskMain(string[]args){DbContextOptionsBuilder<BloggingContext>optionsBuilder=newDbContextOptionsBuilder<BloggingContext>();optionsBuilder.UseSqlServer("DataS......
  • AspNet Zero Core
    原文: https://www.cnblogs.com/Leo_wl/p/8439906.html阅读目录解决AspNetZeroCore5.0.1无法运行的问题回到目录解决AspNetZeroCore5.0.1无法运行的问题 最近在研究AspNetZeroCore5.0.1时发现VS点击调试后就自动退出了,从ABPQQ群里得知作者加入了licen......
  • .net core 安装服务
    https://www.jianshu.com/p/e1b3b61f876a 使用NSSM后面的代码演示以Asp.netCore2.1作为演示,其他.NetCore方式一致。1、确保.NetCore程序可以正常运行先把Asp.netCore发布,然后直接运行dotnet命令,确保程序可以运行并访问   2、使用NSSM安装dotnet下载NSSM......
  • 自动加载类文件时发生错误,类名【core\basic\Kernel】
    当你在使用PBootCMS时遇到“自动加载类文件时发生错误,类名【core\basicKernel】”的问题,通常是因为Kernel.php文件被误删除或丢失。特别是在阿里云虚拟主机上,这类文件可能会被误判为风险文件而被删除。以下是如何解决这一问题的具体步骤:解决方法重新下载PBootCMS模板访问PBo......