一句话结论
微软 9 月 29 日发布 Aspire 13.6,仪表盘新增持久化遥测与运行历史,并首次支持 Java 和 Rust 原生托管。
关键要点
- 仪表盘将资源快照和遥测数据存入 SQLite 数据库,默认启用运行持久化,每个应用保留最多十次运行记录,已完成记录为只读。
- 控制台日志、结构化日志和跟踪信息的默认限制均提高至 10 万条;仪表盘改为 Native AOT 可执行文件,并迁移到 Fluent UI Blazor v5。
- Aspire.Hosting.Java 支持可执行 JAR、Maven/Gradle 封装器、Spring Boot 和 Quarkus;Aspire.Hosting.Rust 通过 AddRustApp 支持 Cargo 应用,二者均基于社区工具包且为预发布包。
- AppHosts 可通过实验性 TerminalService API 在仪表盘停靠栏打开终端;PostgreSQL、MySQL、MongoDB、SQL Server、Redis 和 Valkey 资源新增 WithRepl 选项,使用真实凭据且非只读,默认禁用。
- aspire new 和 aspire init 中 Aspire MCP 服务器智能代理设置默认未勾选,需手动启用;CLI 命令 aspire run 和 aspire start 新增 --launch-profile 选项。
背景与事实
2026 年 9 月 29 日,微软正式推出 Aspire 13.6 版本。本次更新的核心变化集中在开发体验基础设施与多语言生态扩展两个维度。在仪表盘层面,系统架构发生了显著调整:资源快照和遥测数据不再仅存在于内存中,而是持久化存储在一个 SQLite 数据库中。当由 AppHost 启动时,Run persistence 功能默认启用,限制每个应用程序保留十次运行历史记录,已完成的记录以只读方式呈现。值得注意的是,发布说明明确指出该 SQLite 数据库未实施加密或授权层,Aspire 也不会在数据目录上设置 Windows ACL,这意味着数据存储的安全性依赖操作系统的文件权限基础保护,而非应用层机制。同时,日志吞吐量大幅提升,控制台日志、结构化日志和跟踪信息的默认限制从原有水平统一提高至 10 万条。仪表盘本身也进行了技术栈现代化改造,发布形态变更为 Native AOT 可执行文件,前端界面迁移至 Fluent UI Blazor v5,旨在提升性能与响应速度。
在托管能力方面,Aspire 13.6 实现了从 .NET 单一生态向多语言生态的实质性拓展。Aspire.Hosting.Java 和 Aspire.Hosting.Rust 作为预发布包推出,标志着微软对 Java 和 Rust 开发者群体的正式接纳。Aspire.Hosting.Java 支持可执行 JAR 文件、Maven 和 Gradle 封装器,并明确支持 Spring Boot 以及 Quarkus 框架。Aspire.Hosting.Rust 则通过 AddRustApp 方法支持 Cargo 应用程序,允许开发者在 Aspire 编排模型中混合管理 Rust 编写的服务。发布说明强调,这两项功能并非从零开发,而是基于 Aspire Community Toolkit 的工作成果移植而来,体现了社区驱动与官方支持结合的开发模式。此外,版本还引入了两项预览版 Azure 集成:Azure Connector 命名空间和 Azure Container Apps 沙箱,二者均要求用户具备 Azure 订阅的预览版访问权限,主要面向希望深度结合 Azure 云服务的开发者。
交互与配置层面的改进旨在解决本地开发与环境一致性痛点。AppHosts 现在可以通过实验性的 TerminalService API 在仪表盘停靠栏中打开专属终端,方便直接调试资源。针对数据库交互,PostgreSQL、MySQL、MongoDB、SQL Server、Redis 和 Valkey 资源新增了 WithRepl 选项,该选项可启动容器内捆绑的客户端 REPL。由于这些 REPL 使用资源的真实凭据且不具备只读限制,存在安全风险,因此默认处于禁用状态,必须由开发者显式启用。在构建与部署一致性方面,AddDotnetProject 将兼容项目放入共享的还原和构建组中,避免重复还原;项目和可执行文件的卷挂载新增 env 参数,使得应用程序在本地及部署后能通过读取同一个环境变量获取数据路径,增强了可移植性。
影响分析
对于中文开发者与从业者而言,Aspire 13.6 的更新直接降低了多语言微服务架构的实验门槛。此前,Aspire 主要服务于 .NET 生态,Java 和 Rust 开发者若希望采用 Aspire 的编排能力,需要自行编写复杂的启动脚本或依赖第三方非官方适配。现在,官方提供的 Aspire.Hosting.Java 和 Aspire.Hosting.Rust 虽为预发布状态,但覆盖了 Maven、Gradle、Cargo 等主流构建工具及 Spring Boot、Quarkus 等流行框架,意味着团队可以在同一套 Aspire 配置文件中混合编排不同技术栈的服务,无需切换基础设施层。这对正在推进全栈多云战略或混合语言架构的企业具有实际价值。
数据库遥测数据的持久化与 REPL 终端的引入,改变了传统“黑盒”式数据库调试模式。开发者无需 SSH 进入容器或安装本地客户端,即可在 Aspire 仪表盘内直接访问 PostgreSQL、MongoDB 等数据库。然而,鉴于 REPL 使用真实凭据且非只读,安全意识的提升成为必然要求。团队需在本地开发环境中建立明确的操作规范,防止因误操作导致生产环境模拟数据的污染或意外删除。此外,仪表盘改用 Native AOT 编译,意味着启动速度可能更快,但同时也意味着仪表盘不再需要完整的 .NET 运行时环境,这对受限资源环境下的本地调试有潜在益处。
适用边界
本文结论主要适用于使用 Aspire 13.6 及以上版本进行本地开发与快速原型构建的场景。对于生产环境部署,由于 Java 和 Rust 托管功能仍为预发布包(Preview),其行为可能与稳定版存在差异,不建议直接用于核心生产服务而不经过严格测试。仪表盘持久化数据缺乏加密与授权层,仅适用于信任度高的本地开发环境,严禁直接部署于多用户共享或不可信的网络环境中。WithRepl 选项因使用真实凭据且无只读限制,在涉及敏感数据的开发环节中需谨慎启用,仅适用于需要即时交互调试的场景,不适合作为长期运行的监控或审计工具。
孤本观察
Aspire 通过移植社区工具包快速支持 Java 与 Rust,表明微软正将 Aspire 从 .NET 专属编排器转型为多语言应用基础设施,其竞争目标直指跨语言微服务治理标准。仪表盘 SQLite 存储虽提升了历史数据可追溯性,但缺失加密层的设计在“本地优先”与“安全合规”之间选择了前者,暴露出开发工具对安全边界信任度的乐观假设。





常见问题
Aspire 13.6 仪表盘中持久化遥测数据使用什么数据库存储?默认保留多少次运行记录?
使用 SQLite 数据库存储。当由 AppHost 启动时,Run persistence 功能默认启用,每个应用程序最多保留十次运行历史记录。
Aspire.Hosting.Java 支持哪些 Java 构建工具和框架?
支持可执行 JAR 文件、Maven 和 Gradle 封装器,并明确支持 Spring Boot 以及 Quarkus 框架。
PostgreSQL、MySQL 等数据库资源新增的 WithRepl 选项默认是否启用?存在什么安全风险?
默认处于禁用状态,必须显式启用。该选项使用资源的真实凭据且不具备只读限制,存在安全风险。
Aspire 13.6 中 Java 和 Rust 托管功能当前的发布状态是什么?
Aspire.Hosting.Java 和 Aspire.Hosting.Rust 均作为预发布包推出,并非从零开发,而是基于社区工具包的工作成果移植而来。
Aspire 13.6 仪表盘的前端界面迁移到了哪个 UI 框架版本?发布形态有何变化?
前端界面迁移至 Fluent UI Blazor v5。发布形态变更为 Native AOT 可执行文件。
来源:InfoQ 中文 AI