ASP.NET Core 在 .NET 8 预览版 5 中的改进:调试增强、Blazor 更新、SignalR 重连及其他

.NET 8 Preview 5 发布概览

.NET 8 Preview 5 带来了对 ASP.NET Core 的显著增强,包括调试体验的改进、服务器和中间件的调整、Blazor 的新功能和改进、API 编写能力的提升、SignalR 的无缝重连功能,以及认证和授权方面的优化。

调试体验的改进

开发者将受益于调试自定义属性的引入,这些属性有助于在 Visual Studio 调试器中检索与 HttpContextHttpRequestHttpResponseClaimsPrincipal 等类型相关的关键信息。

SignalR 的无缝重连功能

SignalR 引入了“无缝重连”功能的早期支持,旨在最小化客户端因临时网络中断(如网络切换或隧道通过)而导致的停机时间。该功能通过在服务器和客户端临时缓冲数据并确认消息来确保更平滑的用户体验。目前,此功能仅限于使用 WebSockets 的 .NET 客户端,且配置选项尚未提供。

Blazor 的更新

Blazor 在 .NET 8 Preview 5 中获得了大量更新,包括通过命令行和 Visual Studio 可用的新 Blazor Web App 模板,默认的 Webcil 打包格式,以及不再需要启用 unsafe-eval 来指定内容安全策略(CSP)。此外,Blazor Router 组件现在与端点路由集成,以处理服务器端和客户端路由。

Blazor Server 的交互性增强

Blazor Server 引入了为单个组件启用交互性的能力,通过新的 [RenderModeServer] 属性和 AddServerComponents 扩展方法,开发者可以在构建交互式应用程序时获得更大的灵活性和控制。

API 编写的改进

C# 11 中引入的泛型属性现在支持 API 编写,为之前依赖于 System.Type 参数的属性提供了更简洁的替代方案。新增的泛型属性包括 ProducesResponseType<T>、Produces<T>、MiddlewareFilter<T>、ModelBinder<T>、ModelMetadataType<T>、ServiceFilter<T> 和 TypeFilter<T>

认证和授权的变更

ASP.NET Core React 和 Angular 项目模板移除了对 Duende IdentityServer 的依赖,转而使用默认的 ASP.NET Core Identity UI 和 cookie 认证来处理单个用户账户的认证。此外,引入了新的 Roslyn 分析器,以促进使用更简洁的 AddAuthorizationBuilder API 语法。

服务器和中间件的调整

引入了 IHttpSysRequestTimingFeature 接口,允许在使用 HTTP.sys 服务器时获取请求处理期间的详细时间戳数据。ITlsHandshakeFeature 接口现在暴露了服务器名称指示(SNI)主机名信息。新增的 IExceptionHandler 接口使异常处理中间件能够解析和调用服务,以提供处理已知异常的回调机制。

Native AOT 的增强

最新预览版对编译时生成的最小 API 进行了增强,包括支持带有 AsParameters 属性的参数,以及自动推断请求和响应类型的元数据。

开发者反馈

开发者可以通过访问官方 GitHub 项目仓库留下反馈并关注 ASP.NET Core 在 .NET 8 中的进展。

阅读 23
0 条评论