据 InfoQ 报道,微软于 9 月 29 日推出 Aspire 13.6。这个版本的核心变化落在可观测性基础设施上:仪表面板开始把资源快照与遥测数据落盘保存,而不是仅停留在内存之中。

SQLite 持久化:一次应用保留最多十次运行历史

新版本将运行过程中的资源快照、遥测信息存入一个本地的 SQLite 数据库。由 AppHost 启动时,Run persistence(运行持久化)会自动生效,每个应用最多保留十次历史运行;已经结束的记录转为只读,不能再被修改。

官方发布说明同时明确了几项安全边界:该数据库本身没有加密和授权拦截层,Aspire 也不会在数据目录上配置 Windows ACL。换言之,这一功能面向本机开发场景,使用者需自行控制目录访问权限。

在日志承载量方面,控制台日志、结构化日志和跟踪数据的默认上限统一提高到十万条。仪表盘本身改为以 Native AOT 可执行文件形态分发,界面层迁移至 Fluent UI Blazor v5,属于这次界面与部署方式的同步调整。

停靠栏终端与真凭据 REPL:便利伴随风险

AppHost 现在能借助实验性质的 TerminalService API,在仪表面板的停靠区域里运行自己的命令行终端,开发者无需跳出面板即可执行交互命令。

相较此前只能浏览,REPL 的交互方式本身也发生了性质变化:据原文,这些 REPL 直接采用资源的真实凭据,而且会实际开启写入而不是只读,所以默认处于关闭状态,必须由开发者手动打开。这个决定是对数据安全的必要保障。

数据库资源的交互能力被进一步扩展:PostgreSQL、MySQL、MongoDB、SQL Server、Redis 和 Valkey 都增加了 WithRepl 选项,用来启动容器内部集成的对应客户端。

第一方托管 Java 与 Rust,源自 Community Toolkit

这一版把 Aspire 的支持范围扩展到 .NET 本土生态之外。两项托管集成以预发布包形式提供,二者的能力均来自 Aspire Community Toolkit 的前置成果。

针对 Java 推出的 Aspire.Hosting.Java:覆盖可执行 JAR 文件、Maven 与 Gradle 封装器,以及 Spring Boot 和 Quarkus 两类框架。

针对 Rust 推出的 Aspire.Hosting.Rust:提供 AddRustApp 入口,在官方文档的配置示例中,代码依据的是指向应用或是 Cargo.toml 附近的示例路径。

与 Azure 相关的更新有两处:一个是新增 Azure Connector 命名空间,另一个是 Azure Container Apps 沙箱。官方同时提示,两项能力都需要拥有 Azure 订阅且拿到预览版访问权限,也意味着要使用这两项能力的开发人员需要先申请试用的准入。

原本就存在的 .NET 项目协作构建也被优化。AddDotnetProject 现在会把互相兼容的项目归入共享的还原与构建分组,这意味着节省了多次重复运行依赖拉取所需的时间和算力。

在搭建这些多进程应用的骨架时,开发者可以通过新的 API 灵活组织启动项的设置,并与上述按需引入、全资源托管的整体运行逻辑保持一致,配套细节集中在执行环境的管理范围本身。

Aspire 13.6发布:仪表盘支持SQLite持久化运行记录

卷路径可移植、CLI 与 VS Code 工作流增强

项目及可执行文件挂载卷时增加了 env 参数,应用无论是在本地还是部署环境中,都能通过读取同一个环境变量来定位自身数据路径,一次配置在环境中复用。

其它开发和工作流调整包括:

TypeScript AppHost 会从自身所在目录加载 appsettings.json,Deno 2 及更高版本已经能够运行 TypeScript AppHost,这会同时提升性能和安全性的改良潜力。

CLI 方面,aspire run 与 aspire start 现已接受 --launch-profile 参数;官方读取源代码归纳称,aspire new 和 aspire init 中智能代理的设置会自动预选这步操作之外的 MCP 配置开关,Aspire MCP 服务器因此不再被默认启用,改为需自行激活。

在编辑器集成方面,一位编码代理现在能够为 Visual Studio Code 扩展启动并停止 AppHost,Aspire 面板同时引入了部署和发布所需的操作。

AI 体验之外同样有一批同步改动与一项接口兼容性变更需要留意。

这会随之形成一次移动层面的新工作流。

破坏性变更:TLS、Cosmos DB 模拟器与前端名称

MongoDB 资源在有可用证书的环境中本地运行时会启用 TLS 的安全链路默认建立实际认证采用的传输,废弃过去在链路上保持明文的预置。

官方已经指出迁移提示,提到 Cosmos DB 模拟器的变更遵循官方的处理方式:启用的是 Linux 桌面系统上叫 vNext 构造,而原有的旧数据无法保留于其中,升级后的合并对 API 数据处理的切换没有额外承诺支持。

其它已定义的元信息也不绝对保守:旧资源自身的整合包括 Azure Front Door 的 origin 名称,在这次更新之后会有变动;连接字符串中含有连字符的命名会启用按可移植环境变量准则转成一份别名来兼容资源读写,转换后在不同的部署目标之间可以使用这个名字,一部分的筛选会自动生成连接配置与处理内所约束保存的逻辑控制。

其余改动还包括微软自主采用的容器架构中 Azure Container Apps Express 环境的配置变更、微软平台整合推出的 Microsoft Foundry Toolboxes 添加、MongoDB 由服务器搭建出以超集为基础形成从属关系的副本复制集配置在界内管理的方式、Blazor WebAssembly 应用在浏览器调试改进的各个角度来查看实时状态的能力,以及从前帮助浏览模型资源的 GitHub Models 集成被删除下线的方式取舍式地被内部其余改动所取代,后面这个官方整合因素涉及整个生命周期无延展的内容,无法再作为被使用的外部依赖。

如果希望查看完整清单,可前往 Aspire 文档网站提供的 13.6 新增功能页,那里同时包含迁移必要指引、各条目的正文补充,不少相关废弃字段的具体语境都在其中做了适配的说明。

小结:Aspire 13.6 把可观测数据从内存推到本地 SQLite,用十次运行上限换取面向开发机的持久能力;借此,Aspire 让第一方支持从两个维度推进:运行时的工具链细节与运行宿主层面的内存安全保障。停止终端的一次需求,以及可写但不是只读的数据库的变动成本有待权衡与个人团队自我判断。