.NET Aspire 是一个有态度的云原生应用开发框架,旨在改善生成.NET云原生应用的体验,并提供一组强大的工具来帮助你生成和运行分布式应用。它允许开发者快速创建属于自己的云原生应用,或改造已有的项目成为云原生应用。

.NET Aspire 提供服务发现、健康检查、故障和容错策略、Redis服务、可观测性以及遥测面板等功能,并展现出强大的可扩展性。.NET Aspire 提供了如下 3 个方面的能力,来帮助我们使用 .NET 开发分层、云就绪的可观测、本地与生产环境一致的分布式云原生应用程序:
微服务的编排能力:在开发和线上环境自动处理多个微服务之间的连接和依赖,也即内置了服务发现等基础能力。基础服务的访问能力:通过提供一系列Nuget包,把对一些基础服务的访问进行统一封装(比如,缓存、数据库、消息队列等),方便微服务直接使用。工具链的相应配合:在VS和VSCode等工具中添加对以上编排能力的支持,并提供一系列开箱即用的模板,来方便开发人员进行开发、调试和部署云原生应用。
.NET Aspire Preview 4 现已发布!引入了多项重要增强功能,包括社区高度需求的特性。该版本关注的领域包括对 Entity Framework 组件的改进、Podman 支持以及应用模型方面的更改,以便轻松选择使用现有资源或预配新资源。.NET Aspire预览版4 的版本号是 8.0.0-preview.4.24156.9。
以下是此预览版中新增内容的摘要:
支持使用 Podman 运行应用程序
Podman 是一个无守护进程的容器引擎,用于在 Linux 系统上开发、管理和运行 OCI 容器。它是 Linux 用户运行容器而不需要守护进程的绝佳选择。如果同时检测到 Docker 和 Podman,则优先使用 Docker。可以通过环境变量。
Dashboard 仪表板改进
表板的外观和感觉进行了更新,新的仪表板设计旨在减少导航标签所占用的空间,并简化在日志、指标和跟踪之间的导航。.NET Aspire 仪表板现在可以作为独立容器镜像运行,这使得使用仪表板管理在不同机器或不同环境运行的应用程序变得更加容易。仪表板还可以作为 OTLP grpc 端点的收集器和查看器,用于希望发送和可视化遥测数据的应用程序:
- 独立容器镜像,参见示例
- 辅助功能改进,包括
Shift + ?快捷键 - 指标表视图,在图表或表格之间切换
数据库实体框架改进
引入了对 Entity Framework 的新方法,用于配置 Entity Framework。新的 Enrich[Provider]DbContext() 方法在注册 DbContext 类时提供了更多灵活性。这些方法不注册 DbContext,而是在调用它们之前期望你自行注册。这些方法仍然配置命令重试、健康检查、日志和遥测,此外,预览版4改进了使用 EF Core 工具在 .NET Aspire 应用中创建迁移的过程。以前,EF Core 工具会因缺少数据库连接字符串而失败。在预览版4中,.NET Aspire 检测到项目是否使用 EF Core 工具启动,并禁用连接字符串验证,从而允许成功创建迁移。另一个挑战是与 transient 数据库应用迁移。为此,探索了在 .NET Aspire 解决方案中添加一个 .NET后台工作者资源 的方法,这个工作者在应用主机启动时执行迁移。
- 新的管理工具,
MySQL (phpMyAdmin)和MongoDB (mongo-express) - 实体框架迁移问题已解决,请参阅示例
- 数据库服务器资源更新
- 数据库容器资源更新
- 新的
Enrich API,Enrich[Provider]DdContext

外部参数
请参阅 .NET Aspire 文档,外部参数:这些参数用于表示在构建时未知且可能因环境而异的值。这些值在部署应用程序时会提示输入。
New idioms(新习语)
DistributedApplicationBuilder.ExecutionContext和IsPublisherModePublishAs、RunAs和As API
API improvements(API 改进)
在容器资源方面,预览版4引入了对容器资源的新方法,简化了容器资源的添加过程:
- 更改容器属性,
WithImageTag - 拆分绑定和卷安装,
WithVolumeMount和WithBindMount
Components(组件)
- 新功能:
Azure AI搜索文档 - 场景:
.NET Aspire对Azure SignalR服务的支持 - 更新:
.NET Aspire与Application Insights
具有 Azure 资源映射的容器(还有更多计划)
Redis -> Azure RedisPostgres -> Azure Database for PostgresSQLSQL Server -> Azure SQL ServerSQL 服务器 -> Azure SQL 服务器
Deployment(部署)
- 新
primitive,Azure Bicep资源 AZD已更新,包含对部署方案的更好支持,以与.NET Aspire的preview-4保持一致- 部署清单现在仅包含六种资源类型,请参阅部署工具构建器的
.NET Aspire清单格式
Emulators updates(模拟器更新)
- 从
UseEmulator更改为RunAsEmulator
有关详细信息,请参阅 .NET Aspire 文档:.NET Aspire docs: Preview 4。总体而言,.NET Aspire 预览版 4 通过引入新的特性和改进现有功能,为开发云原生应用程序提供了更多灵活性和便利性。
About .NET Aspire,学习更多请查看 https://learn.microsoft.com/zh-cn/dotnet/aspire/?WT.mc_id=dotnet-35129-website
转载声明