[.NET] 🚀Aspire 9 新特性及优化

🚀Aspire 9 新特性及优化

摘要

随着 .NET 9 的发布,.NET Aspire 迎来了一系列重大更新和改进。这些更新不仅让 Aspire 变得更加成熟,也使其终于具备了投入生产环境的条件。本文将详细介绍 Aspire 的最新特性和改进。

安装流程简化

告别独立 Workload

在新版本中,.NET Aspire 的安装流程得到了极大简化。不再需要执行 dotnet workload install aspire 命令,因为 Aspire 现在已经内置于 .NET 9 中。如果你之前安装过旧版本,建议先执行以下命令卸载:

dotnet workload uninstall aspire

模板安装

要获取 Aspire 的项目模板,只需执行:

dotnet new install Aspire.ProjectTemplates

这将安装所有必要的模板,包括:

  • App Host
  • Aspire demo
  • Service default starter
  • 测试模板

仪表板增强功能

容器管理

  • 新增停止/启动按钮,方便控制个别容器
  • 支持通过三点菜单访问更多操作(日志查看、详情、重启等)
  • 支持自定义设置
    image

日志改进

  • 支持结构化日志显示
    image

  • 新增控制台颜色支持
    image

  • 提供更清晰的日志查看体验

响应式设计

  • 支持移动设备访问
    image

  • 自适应不同屏幕尺寸

依赖管理革新

Wait For 功能

新增 WaitFor 功能允许服务等待依赖项就绪:

// 示例代码
var builder = DistributedApplication.CreateBuilder(args);
var cache = builder.AddGarnet("cache").WithDataVolume("TWBV2G").WithLifetime(ContainerLifetime.Persistent);
var pgdb = builder.AddPostgres("pgdb")
.WithPgAdmin() // 自动部署管理工具
.WithDataVolume("TWBV2") // 数据持久化
.WithLifetime(ContainerLifetime.Persistent); // 配置容器不随Aspire程序关闭
var dbinstance = pgdb.AddDatabase("dbinstance");
var apiService = builder.AddProject<Projects.ShipMESAspire_ApiService>("apiservice")
.WithReference(dbinstance)
.WithReference(cache)
.WaitFor(dbinstance)
.WaitFor(cache);
// apiService将等待cache与db到Running状态才会启动,配合EnrichDbContext自动重试机制即可可靠地连接数据库
builder.Build().Run();

健康检查集成

支持多种健康检查方式:

  • HTTP 健康检查
  • 自定义状态码支持
  • 可配置健康检查参数

持久化容器

新特性

  • 支持容器在 Aspire 停止后继续运行
  • 通过 WithLifetime 配置容器生命周期
builder.AddRedis("redis")
.WithLifetime(ServiceLifetime.Persistent);

优势

  • 减少重复启动时间
  • 保持数据持久性
  • 简化开发工作流程

其他重要更新

网络改进

  • 所有资源默认添加到公共网络
  • 简化服务间通信

可视化与管理工具

  • 支持 Redis Commander、PgAdmin、PhpMyAdmin等自动部署
  • 集成 Redis Insight
  • 提供直观的数据查看界面

Azure Function 支持

  • 预览版支持 Azure Function
  • 为无服务器架构提供支持

版本支持策略

重要说明

  • Aspire 采用独立的版本周期
  • 新版本发布后,旧版本立即停止支持
  • 可能影响企业采用决策

结论

.NET Aspire 9 的更新使其成为一个更加成熟和实用的工具。新增的功能和改进解决了早期版本的多个痛点,特别是在依赖管理和开发体验方面。虽然版本支持策略可能需要企业特别关注,但总体而言,Aspire 已经准备好迎接生产环境的挑战。

建议

  1. 如果你还没有尝试过 Aspire,现在是一个很好的时机,虽然在国内使用Aspire并不能方便部署,但是也能简化开发流程
  2. 在规划项目时需要考虑版本支持策略
  3. 充分利用新的依赖管理和持久化容器功能优化开发流程
posted @   MadLongTom  阅读(127)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示