9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

.NET 10 Preview 5 发布:Blazor 可观测性升级,XAML 语法更简洁!

作者:Almir Vuk

  • 2025-07-01
    北京
  • 本文字数:1882 字

    阅读完需:约 6 分钟

大小:712.91K时长:04:03
.NET 10 Preview 5 发布:Blazor 可观测性升级,XAML 语法更简洁!

6 月初,微软宣布发布 .NET 10 Preview 5,为多个组件带来了更新,涵盖了 ASP.NET Core、.NET MAUI、Windows Presentation Foundation (WPF) 和 Entity Framework Core。据介绍,新版本通过一系列功能更新与改进,将帮助开发者有效提升工作效率、强化应用监控,并提供更灵活的定制选项。


在 ASP.NET Core 方面,此次更新增加了一项新功能:开发者可以通过 HttpSysOptions 中的 RequestQueueSecurityDescriptor 属性,为 HTTP.sys 请求队列配置自定义安全描述符。据称,该功能可在操作系统层面更好地控制请求队列的访问权限。


此外,支持 Minimal APIs 的验证解析器 (validation resolver) API 已被标记为实验性功能,以便未来进行修改,不过顶层的 AddValidation API 保持稳定。


OpenAPI 的生成能力得到了改进,现已支持 3.1 版本。此次发布还扩展了从 XML 文档中提取元数据的功能,能够识别<returns><response>标签作为响应描述。


此外,Blazor 框架引入了一种更简便的方法来渲染“未找到”(Not Found) 页面,即在路由配置中指定一个 NotFoundPage 组件。如发行说明所述,这种方法比旧的 NotFound 片段具有更高的优先级,并且已包含在默认的项目模板中。


<Router AppAssembly="@typeof(Program).Assembly" NotFoundPage="typeof(Pages.NotFound)"><Found Context="routeData">    <RouteView RouteData="@routeData" />    <FocusOnNavigate RouteData="@routeData" Selector="h1" /></Found><NotFound>This content will be ignored because we have NotFoundPage defined.</NotFound></Router>
复制代码


Preview 5 的一项亮点是,Blazor 正式支持详细的指标 (metrics) 与追踪 (tracing) 功能。据介绍,指标通过专用于组件、生命周期事件和服务器回路 (server circuits) 的计量器 (meter) 进行发布。


追踪功能则使用一个新的 Microsoft.AspNetCore.Components 活动源 (activity source),包含了对导航、事件处理和回路生命周期的详细检测信息。


值得注意的是,开发者可以通过配置 OpenTelemetry 来收集相应源和计量器的数据,从而启用这些诊断功能。

    builder.Services.ConfigureOpenTelemetryMeterProvider(meterProvider =>{    meterProvider.AddMeter("Microsoft.AspNetCore.Components");    meterProvider.AddMeter("Microsoft.AspNetCore.Components.Lifecycle");    meterProvider.AddMeter("Microsoft.AspNetCore.Components.Server.Circuits");});   builder.Services.ConfigureOpenTelemetryTracerProvider(tracerProvider =>    {        tracerProvider.AddSource("Microsoft.AspNetCore.Components");    });
复制代码


.NET MAUI 现已支持 XAML 全局隐式命名空间,此举旨在简化标记,使开发者可以跳过繁琐的 xmlns 声明,直接使用控件。新的全局命名空间可以包含自定义视图、转换器和第三方库,使 XAML 更为整洁且易于维护。


隐式命名空间可以通过项目属性激活,减少了繁琐声明的需要。不过,微软指出,由于该功能仍处于预览阶段,可能会出现工具链错误。


欲了解有关这些功能的更多信息,微软首席产品经理 David Ortinau 已发布了一篇专门的博客文章,详细介绍了 .NET MAUI 的最新更新。


.NET MAUI 的另一项显著新增是能够在 HybridWebView 中拦截 Web 请求。现在,开发者只需处理 WebResourceRequested 事件,就能够拦截、更改或阻止请求,进而实现注入自定义标头、提供本地资源等高级操作。


<HybridWebView WebResourceRequested="HybridWebView_WebResourceRequested" />
复制代码


.NET 对安卓和苹果平台(如 iOS、macOS 和 tvOS)的更新主要侧重于质量和稳定性的改进。具体细节可在相应的 GitHub 仓库中找到。


根据官方说法,WPF 为 Grid.RowDefinitions 和 Grid.ColumnDefinitions 引入了一种简写语法,这不仅让 XAML 更为简洁,还将改善对热重载 (Hot Reload) 的支持。


此次更新着重改进了字体、全球化及性能。在字体方面,新增的 simsun-extg 字体将改善东亚语言的渲染效果。Fluent 主题的优化则解决了崩溃问题,并加强了对 RTL(从右到左)布局的支持。此外,通过减少内存分配和移除无用代码,整体性能也获得了显著提升。


最后,EF Core 10 Preview 5 新增了为默认约束定义自定义名称的功能,让开发者对数据库模式的生成拥有了更多控制权。具体来说,开发者现在可以直接在模型配置中指定约束名称,或使用 UseNamedDefaultConstraints 为所有默认约束启用自动命名。


感兴趣的读者可以通过微软的官方文档和 GitHub 仓库查阅包含所有更新、修复和已知问题的完整发行说明


原文链接:https://www.infoq.com/news/2025/06/dotnet-10-preview-5/

2025-07-01 17:306193

评论

发布
暂无评论

鸿蒙原生应用开发者激励计划发布,冲刺HarmonyOS NEXT正式商用

最新动态

ECCV 2024 亮点!RoboTwin:首个双臂协同机器人策略学习Benchmark

松灵机器人

前沿科技 人工智能’ 具身智能 松灵机器人 双臂智能机器人

CocosCreator 快速部署 TON 游戏:Web2 游戏如何使用 Ton支付

股市老人

鸿蒙应用示例:利用attributeModifier解决样式抽离与组件状态管理

zhongcx

鸿蒙应用示例:单例工具类实现防抖动策略

zhongcx

鸿蒙应用示例:API功能集成示例及注意事项

zhongcx

一文读懂HyperWorks的耦合求解功能

智造软件

CAE altair hyperworks

软件测试学习笔记丨二叉树:添加练习

测试人

软件测试

鸿蒙应用示例:NEXT 中 Map 类型的使用及注意事项

zhongcx

鸿蒙应用示例:应用开发中的动态获取属性与调用方法技巧

zhongcx

Python:条件分支 if 语句全讲解

不在线第一只蜗牛

Python

鸿蒙应用示例:状态管理与UI刷新机制从@State到@ObservedV2的进阶

zhongcx

倒计时1天 | 第三届OpenHarmony技术大会——明天,上海见!

OpenHarmony开发者

鸿蒙应用示例:基于 promptAction 封装全局弹窗工具类

zhongcx

鸿蒙应用示例:跨组件通信实践父组件调用子组件方法及状态共享

zhongcx

鸿蒙应用示例:键盘管理从避免遮挡到显示监听的方案实践

zhongcx

鸿蒙应用示例:ArkTS中实现一键置灰功能

zhongcx

天猫商品描述API返回值中的商品参数对比与竞品分析

技术冰糖葫芦

API 接口 API 文档 API 测试 API 性能测试

繁星·数智思享会第2期:流程挖掘,全知视角驱动业务增长

望繁信科技

流程挖掘 流程资产 流程智能 望繁信科技 数字换转型

《Programming from the Ground Up》读后感

codists

汇编 编程人

鸿蒙应用示例:Java与ArkTS中的方法重载及数值类型对比

zhongcx

鸿蒙应用示例:ArkTS中设置颜色透明度与颜色渐变方案探讨

zhongcx

老韩运维知识解析系列02:深入理解网络监控指标与实战应用

Geek_a83400

文档转换API功能与特性全景:选择指南与应用洞察

幂简集成

API

.NET 10 Preview 5 发布:Blazor 可观测性升级,XAML 语法更简洁!_软件工程_InfoQ精选文章