.NET 9 Preview 4 发布概述
Microsoft 发布了 .NET 9 Preview 4,该版本在 ASP.NET Core 中引入了多项新功能和改进,包括对 OpenAPI 文档生成的内置支持、HybridCache API,以及向全局交互式 Blazor Web 应用添加静态 SSR 页面。此外,还实施了改进以避免在 IIS 应用回收期间出现 503 错误。
OpenAPI 文档生成
OpenAPI 规范是描述 HTTP API 的标准,支持与客户端和服务器生成器、测试工具以及文档的集成。在 .NET 9 Preview 4 中,ASP.NET Core 内置支持使用 Microsoft.AspNetCore.OpenApi 包为基于控制器和最小 API 生成 OpenAPI 文档。要使用此功能,需要在相关 Web 项目中安装该包:
dotnet add package Microsoft.AspNetCore.OpenApi --prerelease内置的 OpenAPI 文档生成支持自定义功能,如文档和操作转换器,以及管理单个应用的多个 OpenAPI 文档。更多信息可参阅 Microsoft.AspNetCore.OpenApi 文档。
HybridCache API
.NET 9 Preview 4 引入了新的 HybridCache API,弥补了现有 IDistributedCache 和 IMemoryCache API 的不足,并添加了诸如“stampede”保护和可配置序列化等功能。HybridCache 采用多级缓存存储系统,结合了有限的内存缓存和更大的外部缓存。这种方法在从内存缓存中检索数据的同时,防止后端对不常访问的数据过载。HybridCache 旨在作为大多数 IDistributedCache 场景的直接替代品。
HybridCache 支持较旧的 .NET 运行时,最低兼容 .NET Framework 4.7.2 和 .NET Standard 2.0。
Blazor Web 应用的全局交互性
Blazor Web 应用可以启用全局交互性,允许应用中的所有页面使用交互式渲染模式:Server、WebAssembly 或 Auto。现在,页面可以使用新的 [ExcludeFromInteractiveRouting] 属性选择退出全局交互性。该属性会导致导航到该页面时退出交互式路由,强制执行完整页面重新加载,从而使顶层的 App.razor 重新运行,并切换到不同的顶层渲染模式。
避免 IIS 应用回收期间的 503 错误
为了避免在 IIS 应用回收期间出现 503 错误,现在在 IIS 通知和 ASP.NET Core 模块(ANCM)启动服务器关闭之间默认实现了一秒的延迟。此延迟最小化了向新应用排队请求和拒绝向旧应用请求之间的竞争条件。对于较慢或 CPU 负载较高的机器,建议通过 ANCM\_shutdownDelay 环境变量或 shutdownDelay 处理程序设置调整延迟时长。
更多信息
有关此预览版中新功能的更多详细信息,请参阅 发布说明。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。