当前位置: 首页 > news >正文

ASP.NET Core 10.0 的主要变化

ASP.NET Core 10.0 是 .NET 10 版本的一部分,引入了多项新功能和增强功能。重点关注的领域包括 Blazor、OpenAPI 支持和 Minimal API 的改进,以及安全性和性能的增强。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

1. Blazor 增强功能

Blazor WebAssembly 性能:ASP.NET Core 10.0 包含针对 Blazor WebAssembly 的重大性能优化,例如预加载静态资产以改善启动时间以及增强性能分析的诊断。

表单验证:新版本提供了改进的表单验证,包括全对象图验证,从而允许更复杂和更强大的验证逻辑。

状态持久性:Blazor Server 现在包含持久组件状态的功能,从而提高了弹性和可扩展性。

QuickGrid:QuickGrid 组件已更新,具有RowClass条件样式和改进的导航等新功能,可防止在同一页面更新时出现不必要的页面滚动。

BlazorQuickGrid RowClass

RowClassBlazor 组件上的新参数QuickGrid允许轻松地对行进行条件样式设置。这简化了 UI 逻辑,将其从 CSS 选择器移至 C# 代码。

HTML

<QuickGrid Items="items" RowClass="GetRowCssClass">
<PropertyColumn Property="@(p => p.Name)" Title="Name" />
<PropertyColumn Property="@(p => p.IsArchived)" Title="Archived" />
</QuickGrid>

@code {
private string GetRowCssClass(MyGridItem item)
{
return item.IsArchived ? "archived-row" : null;
}
}

2. OpenAPI 和最小 API

OpenAPI 3.1 支持:ASP.NET Core 10.0 全面支持OpenAPI 3.1,从而提供更全面的 API 文档。这包括符合 JSON Schema 草案 2020-12 的要求,并能够以 YAML 格式提供 OpenAPI 文档。

最小 API 验证:最小 API 现已内置验证支持。您可以使用DataAnnotations参数和模型的属性定义验证规则,并在验证失败时自动返回 400 Bad Request 响应。

简化的 API 开发:极简 API 得到了进一步增强,使构建轻量级 Web 服务更加轻松。新功能允许您将服务注入极简 API,而无需使用[FromServices]属性。

app.MapPost("/person", ([Validate] Person person) =>
{
// The framework handles validation. This code only runs if the person object is valid.
return Results.Created($"/person/{person.Id}", person);
});

public record Person(
[Required] int Id,
[StringLength(50)] string Name,
[EmailAddress] string Email
);

// Old way (pre-10.0)
app.MapGet("/users", ([FromServices] IUserService userService) =>
{
return userService.GetAllUsers();
});

// New way (10.0)
app.MapGet("/users", (IUserService userService) =>
{
return userService.GetAllUsers();
});

3. 身份验证和安全

添加了新功能和 API,使应用程序更安全、更易于管理。

无密码身份验证:增强了对密码(WebAuthn + FIDO2)的支持,允许使用生物识别或硬件安全密钥进行安全的无密码登录。

内置指标:新的内置指标提供了一种监控关键身份验证和授权事件的方法,例如登录、注销和授权失败,这对于现代可观察性至关重要。

API 身份验证行为: API 端点现在默认返回未经身份验证的请求的401状态403代码,符合常见的 API 最佳实践并防止意外重定向到登录页面。

开放重定向保护:一种新的RedirectHttpResult.IsLocalUrl辅助方法可帮助开发人员在重定向到 URL 之前验证 URL,从而有效防止开放重定向攻击。

安全性始终是 .NET 新版本的重中之重,.NET 10 也不负众望。其中一项突出的功能是对密钥的增强支持。在密码始终存在安全风险的时代,密钥通过 WebAuthn 和 FIDO2 标准提供了一种更安全、更能抵御网络钓鱼的替代方案。借助全新简化的 API 和更新的模板,实现无密码身份验证现在比以往任何时候都更加轻松。这是迈向更安全网络的关键一步,对开发者和用户来说都是双赢的。

4. 开发人员的生产力和绩效

.NET 10 运行时和 ASP.NET Core 框架的一般改进旨在提高开发人员的工作效率和应用程序性能。

路由语法突出显示: Blazor 中的属性[Route]现在包括语法突出显示,以帮助开发人员可视化和理解路由模板的结构。

增强诊断:诊断工具已得到改进,新选项允许开发人员抑制某些异常处理程序诊断,以实现更清晰的日志记录。

服务器发送事件 (SSE):添加了对服务器发送事件 (SSE) 的支持,提供了一种实现实时数据流的简单方法,而无需 WebSockets 的复杂性。

.localhost 域名支持:内置的 Kestrel Web 服务器现在将.localhost顶级域名识别为安全环回地址,从而通过清晰的域名分离简化本地开发。

在性能方面,我们从未停止改进。内置 Web 服务器 Kestrel 已在底层进行了更多优化。虽然您可能无法在代码中直接看到这些改进,但它们正在默默地提升您的应用程序速度和内存利用效率。这种“免费性能”是 .NET 平台的一大特色——您只需使用新的 SDK 重新编译您的应用,速度就会更快。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

http://www.dtcms.com/a/423003.html

相关文章:

  • 广州市公司网站建设品牌广州建设网站是什么样的
  • 电感损耗计算方法梳理
  • openEuler - 初探Chrony时间同步服务
  • 【C语言代码】大小写转换
  • 网站开发 程序开发阶段建设公众号官方网站
  • 泰安市建设信息网站哈尔滨通用建设工程有限公司
  • 3dgs项目详解 :convert.py
  • 大模型落地实践指南:从技术路径到企业级解决方案
  • 2004 年真题配套词汇单词笔记(考研真相)
  • Java面经(22届考研-华oD)
  • VS Code 使用 Chrome DevTools MCP 实现浏览器自动化
  • MySQL笔记---内置函数
  • 紫外UV固化太阳光模拟器的原理
  • 南京网站建设哪家好简洁 网站模板
  • react 初体验
  • 南华 NHXJ-02 汽车悬架检验台:技术特性与实操应用指南
  • 鄂湘赣新能源汽车产业质量技术创新联合体成立大会暨汽车网络安全标准专题培训会在汉圆满召开
  • 物联网智能安防系统
  • 洗头竖鞋带名片改良授权做网站不贵高端产品网站建设
  • 软考 系统架构设计师系列知识点之杂项集萃(160)
  • 汕头网站建设推广电子商务网站流程图
  • Axure教程:用中继器制作高亮搜索效果
  • WSL2 子系统启用 SSH 并使用 MobaXterm 连接
  • Oracle EBS ERP之报表开发—嵌入Web中的报表预览、报表打印
  • 网站上传可以通过wordpress作者 页面
  • 【信号处理基础】傅立叶级数、傅立叶变换、拉普拉斯变换与z变换
  • powershell脚本文件输出中文乱码解决办法
  • 二叉树的后序遍历【非递归版】
  • 一款专门为 WPF 打造的开源 Office 风格用户界面控件库
  • 【Java并发】揭秘Lock体系 -- 深入理解ReentrantLock