ASP.NET Core 在 .NET 8 预览版 7 中的更新:Blazor、原生 AOT、防伪功能等

.NET 8 Preview 7 中的 ASP.NET Core 更新

.NET 8 Preview 7 带来了对 ASP.NET Core 的重大改进和变化,主要集中在 Blazor、Native AOT、Identity、新的 SPA Visual Studio 模板、Antiforgery 中间件等方面。

Blazor 的主要增强

  1. Antiforgery 保护默认启用:Blazor 的端点现在默认启用 Antiforgery 保护,EditForm 组件会自动添加 Antiforgery 令牌。虽然开发者可以禁用此功能,但不建议这样做。
  2. 标准 HTML 表单支持:开发者现在可以在服务器端渲染模式下构建标准的 HTML 表单,而不依赖 EditForm。
  3. 自动交互式渲染模式:Blazor 引入了自动交互式渲染模式,结合了服务器和 WebAssembly 渲染模式,优化了渲染性能。
  4. 根级级联值注册:注册根级级联值可以使其在整个组件层次结构中可用。
  5. 交互式组件的增强:交互式组件现在支持增强的导航、表单处理和流式渲染。
  6. Virtualize 组件的 EmptyContent 属性:新增了 EmptyContent 属性,用于在项目缺失或 ItemsProvider 返回零 TotalItemCount 时定义简洁的内容。

Antiforgery 中间件

  1. 新增 Antiforgery 中间件:用于验证 Antiforgery 令牌,防止跨站请求伪造攻击。
  2. 中间件顺序:Antiforgery 中间件应在身份验证和授权中间件之后,以防止未经授权的表单数据访问。
  3. Minimal API 的 Antiforgery 验证:处理表单数据的 Minimal API 现在需要 Antiforgery 令牌验证。

Native AOT 的更新

  1. 请求委托生成器支持 C# 12 拦截器:开发者可以利用更新的请求委托生成器支持新的 C# 12 拦截器功能,拦截 Minimal API 的 Map 动作方法调用。
  2. WebApplication.CreateEmptyBuilder 方法:引入了新的工厂方法,生成仅包含必要功能的更小应用程序。
  3. 原生 AOT 发布结果:在 linux-x64 机器上发布原生 AOT 代码,生成的自包含原生可执行文件约为 8.5 MB。

其他重要更新

  1. 全 TrimMode 默认启用:从本版本开始,所有针对 .NET 8 或更高版本的项目默认使用 TrimMode=full,而不是部分 TrimMode。
  2. 新的 Visual Studio 模板:引入了新的 Visual Studio 模板,包含 Angular、React 和 Vue,使用新的 JavaScript 项目系统 (.esproj),并与 ASP.NET Core 后端项目无缝集成。

社区参与

  1. 博客评论活跃:原始发布博客的评论部分非常活跃,用户提出了许多问题并与开发团队进行了讨论。建议用户查看评论部分并参与讨论,以了解各种观点。
阅读 22
0 条评论