首页 > 极客资料 博客日记

ASP.NET Core OData 9的发布,放弃 .NET Framework

2024-10-09 07:30:02极客资料围观17

这篇文章介绍了ASP.NET Core OData 9的发布,放弃 .NET Framework,分享给大家做个参考,收藏极客之家收获更多编程知识

Microsoft 于 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9 包。 这个新包将ASP.NET Core与.NET 8 OData库保持一致,改变了OData格式中数据编码的内部细节,使其更符合OData 规范

在2024年8月早些时候,Microsoft 将 OData .NET 库更新到版本 8.0.0。其中最重要的更改是放弃了对旧版 .NET Framework 的支持。从此版本开始,将仅支持 .NET 8 及更高版本。使用旧版 .NET Framework 的开发人员仍然可以使用 OData 库的 7.x 版,这些库在 2025 年 3 月之前仍受到积极支持,届时他们将处于维护模式。

OData 8库使用了新的JSON写入器System.Text.Utf8JsonWriter来序列化和反序列化JSON负载,这个新写入器比旧的JsonWriter更快且需要更少的内存。并且需要的内存更少,由 Microsoft.OData.Json.DefaultJsonWriterFactory 创建,因为它不是基于JsonWriter 而是基于TextWriter .虽然新编写器自 OData 版本 7.12.2 以来一直可用,但现在它是 OData 8 中的默认实现。

如果需要,开发人员仍然可以使用旧编写器,方法是在服务生成器中调用 AddOData 方法并提供一个实例,该实例对应于旧编写器,为清楚起见,已重命名。

builder.Services.AddControllers().AddOData(options => options.EnableQueryFeatures().AddRouteComponents(routePrefix: string.Empty, model: modelBuilder.GetEdmModel(), configureServices: (services) => { services.AddScoped < Microsoft.OData.Json.IJsonWriterFactory > (sp => new Microsoft.OData.Json.ODataJsonWriterFactory()); }));

新编写器的序列化方式与旧编写器不同。它不会像较旧的编写器那样对所有高 ASCII Unicode 字符进行编码。例如,它不会将非拉丁符号(如希腊字母)编码为 Unicode 数字序列。相反,它将输出 Unicode 字符本身。旧编写器会将几乎所有非 ASCII 字符编码为数字,从而使有效负载的大小更大,编码过程更慢。新的 JSON 编写器输出大写 Unicode 字符,而不是以前版本使用的小写。


ASP.NET Core OData 9的另一个重大变化是依赖注入的工作方式,更新后的库使用与.NET相同的抽象,即IServiceProvider

builder.Services.AddControllers().AddOData(options => options.EnableQueryFeatures().AddRouteComponents(routePrefix: string.Empty, model: modelBuilder.GetEdmModel(), configureServices: (services) => { services.AddDefaultODataServices(odataVersion: Microsoft.OData.ODataVersion.V4, configureReaderAction: (messageReaderSettings) => { // Relevant changes to the ODataMessageReaderSettings instance here }, configureWriterAction: (messageWriterSettings) => { // Relevant changes to the ODataMessageWriterSettings instance here }, configureUriParserAction: (uriParserSettings) => { // // Relevant changes to the ODataUriParserSettings instance here }); }));

此外,新库还移除了旧的实现和标准,如JSONP格式。新的 ASP.NET Core OData 9 库作为 NuGet 包分发。OData 通过各种 NuGet 包提供,包括:

新版本在过去9 周内 已被下载了 250.000 次。ASP.NET Core OData 的源代码在 GitHub 上提供,存储库目前有 458 个未解决的问题,有关完整列表,开发人员可以查看 OData 8 .NET 库的发行说明


版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云