AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

.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:304203

评论

发布
暂无评论

OOP: DIP与LSP

Iris

面向对象 架构训练营

链上数据存储,区块链底层技术落地

t13823115967

区块链落地

架构师第 6 课作业及学习总结

小诗

「架构师训练营第 1 期」

面向垂直领域的OpenIE图谱构建技术

DataFunTalk

追寻人生的意义

三只猫

28天写作

2021 十大技术趋势扑面而来,你准备好了吗?

李忠良

区块链 人工智能 云计算 大数据 架构

架构师训练营大作业

Shunyi

「架构师训练营第 1 期」

架构师训练营 第十二周作业

文江

优化无止境,爱奇艺中后台 Web 应用性能优化实践

爱奇艺技术产品团队

大前端

芯片破壁者(二十五):从全球贸易网络看芯片博弈

脑极体

智慧警务,大数据分析决策平台建设方案

t13823115967

大数据

「学习笔记」深入理解ThreadLocal

Java架构师迁哥

洞察

JiangX

创业 投资 认知 28天写作 洞察

大作业二

Geek_83908e

架构师一期

Go的声明语法为什么是这样

Rayjun

Go 语言

爱奇艺SOAR探索与实践

爱奇艺技术产品团队

安全

案例研究之聊聊 QLExpress 源码 (一)

小诚信驿站

聊聊架构 规则引擎 28天写作 QLExpress源码 聊聊源码

Activemq Jms 简单示例

Java 消息队列 JMS Activemq

Prometheus学习笔记之查询【基础篇】

卓丁

Prometheus Monitor 监控告警 普罗米修斯 PromQL

justauth-spring-boot-starter V1.3.5 发布成功

RD

OAuth 2.0 justauth 第三方登录

学习安卓开发!View的这些基础知识你必须要知道,Android岗

欢喜学安卓

android 程序员 面试 移动开发

精选算法面试-链表(判断环)

李孟聊AI

算法 链表 28天写作

多熟悉一门编程语言看法

superman

架构师训练营第十二周作业

丁乐洪

网卡分身技术,你 Get 了吗

Linux云计算网络

网络

推荐系统解构

DataFunTalk

大数据

移动开发属于哪个领域!2021年Android春招面试经历,详细的Android学习指南

欢喜学安卓

android 程序员 面试 移动开发

大作业 1

郎哲

用 flomo 管理自己的奇思妙想瀑布流

Guanngxu

Spring Cloud Gateway (七)处理流程解析

Java 网关 SpringGateway

面向对象设计总结

Iris

面向对象

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