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

news/2025/1/6 16:57:29/文章来源:https://www.cnblogs.com/madtom/p/18651858

🚀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. 充分利用新的依赖管理和持久化容器功能优化开发流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863853.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MapReduce--国家气候数据中心

NCDC:https://www.ncei.noaa.gov/中国气象数据网:https://data.cma.cn/

ABB IRB6640机械手减速机维修步骤

ABB IRB6640机械手减速机维修涉及多个步骤和注意事项,以下是一些关键的abb机械臂维修步骤和建议:一、故障排查检查故障代码:首先,通过查看机械手的故障显示屏或控制柜的显示屏,记录显示的错误代码。这些代码通常能指示减速机或其他部件的故障类型。检查电源和电缆:确保机…

Pycharm 2024.3.1.1 安装激活详细图文教程(激活至2026,实际上永久,亲测!)以及常见问题处理

申明:本教程 Pycharm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 !卸载老版本 Pycharm 首先,如果小伙伴的电脑上有安装老版本的 Pycharm , 需要将其彻底卸载掉,如下所示(没有安装则不用管,直接安装即…

java8--类Scanner--文件内容输入--错误的使用方法

Scanner in = new Scanner("mygile.txt"); String str = in.nextLine(); System.out.println(str);效果图:ps: 1.没有用类Paths的静态方法get指定路径,直接在创建Scanner新对象时传入文件名做参数,使用时不会启动输入步骤,不会从键盘获取输入,执行的是赋值操作…

Webstorm 2024 安装激活详细使用教程(激活至2026,实测是永久,亲测!)

开发工具推荐:Webstorm 安装激活详细使用教程(激活至2026,实际上永久,亲测!)申明:本教程 Webstorm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! Webstorm是JetBrains公司推出的一款功能强大的JS集成…

24. 两两交换链表中的节点(中)

目录题目法一、迭代法二、递归 题目给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。法一、迭代 var swapPairs = function(head) {let dummy = {next:head}let p1 = dummywhile(p1.ne…

深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)PDF、EPUB免费下载

周志明JVM新作,新增内容近50%,大厂面试知识点全覆盖。与《Java编程思想、EffectiveJava、Java核心技术》堪称“Java四大名著”适读人群 :1.使用Java技术体系的中-高级开发人员 2.系统调优师 3.平台架构师 4.准备进互联网大厂面试的Java开发人员 周志明JVM新作,新增内容近50…

使用 ActiViz.Net (商业版)实现读三维地震数据可视化

一、背景 在地震勘探中,SEG-Y 格式(简称 SEGY)是最常用的数据格式之一,用于存储地震波的原始数据。地震数据通常包含了时间序列信息,并通过不同的采样和测量方法来记录地下结构的属性。为了有效地可视化这些数据,尤其是地震波的幅度和传播情况,三维可视化是一个非常有用…

使用 ActiViz.Net 实现读三维地震数据可视化

一、背景 在地震勘探中,SEG-Y 格式(简称 SEGY)是最常用的数据格式之一,用于存储地震波的原始数据。地震数据通常包含了时间序列信息,并通过不同的采样和测量方法来记录地下结构的属性。为了有效地可视化这些数据,尤其是地震波的幅度和传播情况,三维可视化是一个非常有用…

通过网址或html生成一个简单apk

GitHub - pzx521521/apk-editor 通过网址或html生成一个简单apk 之前发过一个使用apktool版本的,简单来说就是一个对apk反编译和编译的过程相比使用apktool有以下优点:[x] 没有环境依赖,完全不需要 jdk/jre [x] 无需中间调用apktool,容易部署到服务器/docker使用 Online Demo 修…

EXCEL中自动突出显示(自动高亮)行或列

EXCEL中,当选择的单元格距离列首或行首过远时,考验眼睛的时候就到了。解决方法很多,如果想要自动突出显示,就只能上vba代码了。解决的问题 EXCEL中,当选择的单元格距离列首或行首过远时,考验眼睛的时候就到了。解决方法很多,如果想要自动突出显示,就只能上vba代码了。方…

DL00868-基于深度学习的红外船舶检测识别分类完整实现数据8000+

随着遥感技术的快速发展,包括无人机、卫星等,红外图像在船舶检测识别中的作用日益凸显。相对于可见光图像,红外图像具有在夜晚和恶劣天气条件下高效检测识别船舶的天然优势。近年来,深度学习作为一种强大的图像处理技术,在红外船舶检测识别领域取得了显著进展。完整链接:…