飞不高 发表于 2024-10-9 15:51:49

ASP.NET Core OData 9 正式发布

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

[*]Microsoft.AspNetCore.OData 9.0.0
此版本的重要亮点是将 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 编写器时输出有效负载的表面:
复制// Modelnamespace Ver900Sample.Models{    public class Order    {      public int Id { get; set; }      public decimal Amount { get; set; }      public string Note { get; set; }    }}// Controllerusing 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 orders = new List      {            new Order { Id = 1, Amount = 130m, Note = "a - z, α - Ω" },            new Order { Id = 2, Amount = 170.50m, Note = "
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: ASP.NET Core OData 9 正式发布