Google Code Prettify

ASP.NET Core 9.0 在 .NET 9 是新增加了什麼?

ASP.NET Core 9.0 随着 .NET 9 的发布,引入了多项新功能和改进,主要包括以下方面:

1. 静态资产传递优化

引入了 MapStaticAssets 中间件,用于优化应用程序中静态资产的传递。该功能旨在减少提供给浏览器的资产大小,降低网络传输的字节数,并避免向客户端提供过时的文件版本。这对于所有 UI 框架(如 Blazor、Razor Pages 和 MVC)都适用,是 UseStaticFiles 的替代方法。

2. Blazor 的新功能

  • 改进的服务器端重新连接体验:当用户返回已断开连接的应用时,系统会立即尝试重新连接,页面会自动刷新,避免用户手动刷新。

  • 简化的身份验证状态序列化:通过新的 API,更轻松地向现有 Blazor Web 应用添加身份验证。默认情况下,服务器端仅序列化名称和角色声明。

3. SignalR 的新功能

中心方法现在支持多态类型,允许接受基类参数以实现多态方案。需要对基类型进行注释以实现多态性。

4. 最小 API 的新功能

  • TypedResults 类增强:添加了 InternalServerError 方法,用于从终结点返回 500 内部服务器错误响应。

  • 改进的 ProblemValidationProblem 结果类型构建:支持使用 IEnumerable<KeyValuePair<string, object?>> 初始化 errorsextensions 属性。

5. 内置 OpenAPI 支持

ASP.NET Core 现在提供内置支持,通过 Microsoft.AspNetCore.OpenApi 包生成基于控制器的 API 或最小 API 的 OpenAPI 文档。该功能支持裁剪和本机 AOT。

6. 身份验证和授权的新功能

OpenIdConnectHandler 现在支持推送授权请求(PAR),以防止浏览器中的网络攻击者查看或篡改授权参数。

7. 其他新功能

  • HybridCache:弥补了现有 IDistributedCacheIMemoryCache API 的差距,添加了如“踩踏”保护和可配置序列化等新功能。

  • 开发人员异常页改进:将终结点元数据添加到开发人员异常页面,改进了字典和其他键值集合的调试显示。

  • IIS 中应用程序回收期间的 503 错误修复:默认情况下,IIS 在收到回收或关闭通知与 ANCM 通知托管服务器启动关闭之间有 1 秒的延迟。

  • 指标改进:在生产环境中以最小影响继续使用,用于调查性能问题和观察对 Kestrel 造成影响的外部攻击。

这些更新旨在提升 ASP.NET Core 的性能、安全性和开发体验。