.NET 8 Release Candidate 2 主要更新总结
.NET 8 Release Candidate 2(RC2)是.NET 8正式版发布前的最后一个版本,带来了对ASP.NET Core的显著改进,主要集中在Blazor、Identity、API编写、SignalR以及新的CLI SPA模板等方面。
HTTP日志中间件的增强
- 新特性:引入了
HttpLoggingFields.Duration,用于测量处理时间(毫秒),并添加到HttpLoggingFields.All集合中。 - 日志合并:新增
HttpLoggingOptions.CombineLogs,将请求、请求体、响应、响应体和持续时间等日志合并为一个条目。 - 自定义日志:通过
IHttpLoggingInterceptor接口,开发者可以自定义日志细节,支持多个拦截器按添加顺序执行。
服务器与中间件更新
- IdentityModel库:ASP.NET Core采用了最新版本的IdentityModel库,包含性能更优的
JsonWebTokenHandler,支持原生AOT编译。 - API编写改进:支持表单绑定中的
IFormFile属性,增强了表单文件处理能力。 - SignalR改进:TypeScript客户端现在支持状态化重连功能。
Blazor相关更新
- 全局交互模式:Blazor Web App模板引入了全局交互模式,使整个应用(包括路由和布局)具备交互性。
- 模板更新:
Blazor WebAssembly App模板更名为Blazor WebAssembly Standalone App,不再包含ASP.NET Core托管选项。ASP.NET Core托管的Blazor应用应使用Blazor Web App模板。 - 其他改进:包括文件作用域的
@rendermodeRazor指令、增强的导航与表单处理、表单模型绑定改进、通过级联参数访问HttpContext、支持注入键控服务、对话框HTML元素的取消和关闭事件支持、自定义错误页面等。
Identity改进
- Blazor Identity UI:开发者可以通过选择“Individual Accounts”认证选项,生成完整的基于Blazor的Identity UI。Visual Studio默认使用SQL Server数据库,命令行版本默认使用SQLite并包含预创建的数据库。
其他信息
- 已知问题:博客文章中列出了已知问题,并计划在.NET 8正式版中解决。
- 社区互动:官方博客的评论区鼓励开发者与.NET团队互动,获取更多关于RC2发布的见解。
这些更新展示了.NET 8 RC2在性能、开发体验和功能扩展方面的显著进步,为开发者提供了更多灵活性和便利性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。