当前位置: 首页 > news >正文

界面开发框架DevExpress XAF实践:如何在Blazor项目中集成.NET Aspire?(一)

DevExpress XAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。DevExpress XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。

.NET Aspire是一组工具、模板和包,用于构建可观察的、可生产的应用程序。DevExpress XAF团队花费了一些时间考虑Aspire的功能,试图找到最好的集成点,让XAF开发人员能够利用Aspire开箱即用的业务流程特性。该团队认为Aspire是一个潜在的“一键解决方案”,是XAF解决方案向导中一些模板的更现代的替代品,它可以实现以下一些目标:

  • 简化冗长且容易出错的设置过程,就像在Linux上的Azure应用服务和Nginx支持文档中描述的那样,以及其他流行的web服务器配置。
  • 为开发和部署环境提供所需的数据库和其他应用程序资源(例如,使用Docker设置)。

团队希望能够为客户节省大量的时间,无论他们是否使用XAF!目前,由于Microsoft仍在快速开发Aspire,这在很大程度上是一个移动的目标。与此同时,一些功能已经被广泛使用,可以认为是稳定的,所以现在我们决定发布一些细节,来帮助您在自己的XAF项目中使用Aspire工具。

点击获取DevExpress XAF v24.1正式版下载

了解更多关于.NET开发者的DevExpress应用框架(XAF)

DevExpress XAF是一个以开发人员为中心的.NET应用程序框架,旨在构建功能完整的受Office启发的业务线应用程序(通过实体框架或XPO ORM利用DevExpress Blazor和WinForms UI组件)和强大的Web API服务。

  • XAF对JavaScript/ASP. NET Core开发人员的好处
  • XAF对Blazor开发人员的好处
  • XAF对WinForms开发人员的好处
  • XAF对WPF开发人员的好处
  • XAF对报表开发人员的好处
  • XAF对办公文件API开发人员的好处
将Aspire添加到XAF Blazor项目

为了说明让Aspire使用XAF所需的具体步骤,从解决方案向导在Visual Studio 2022中创建的一个新的XAF解决方案开始。先用Web UI (ASP. NET Core Blazor)配置了这个项目,然后使用向导默认选择的所有标准选项。如果您更喜欢Visual Studio Code,可以使用最新的DevExpress模板工具包创建一个新的XAF项目。

界面开发框架DevExpress XAF实践图集

在解决方案中,将两个项目的目标框架更改为 .NET 9.0,这可能不是绝对必要的,但是因为.NET Aspire在这个时候发展很快,而且最新的版本实际上已经是9.1版本了,所以把演示解决方案也更新到最新版本是有意义的。

界面开发框架DevExpress XAF实践图集

最后添加了一个名为DataItem的业务对象,这样UI就可以显示一些东西,并且可以验证应用程序是否做了它应该做的事情。

界面开发框架DevExpress XAF实践图集

准备好测试解决方案后,添加.NET Aspire支持的工作似乎很简单:在Blazor项目中有一个调用.Aspire Orchestrator Support…上下文菜单项。

界面开发框架DevExpress XAF实践图集

点击了那个条目,在随后的对话框中确认了所有的标准设置,然后出现了一个错误:

界面开发框架DevExpress XAF实践图集

注意:由于XAF Blazor应用程序中使用的启动代码与Aspire预期的启动代码在结构上存在差异,因此目前仅部分应用了这些修改。Visual Studio中的Aspire工具有非常具体的要求,至少目前是这样,所以通常需要一些额外的工作才能使其正确工作。

这是现在必须为XAF v24.2项目模板应用的修复列表:

  • 修改新添加的项目ServiceDefaults中的Extensions.cs文件,来考虑ASP. NET Core应用程序的旧式启动结构。
  • 删除向导莫名其妙地放到Module项目中Extensions.cs的额外副本,.NET 8.0的.NET Aspire向导没有做到这一点,但.NET 9的做到了。
  • 修改Blazor应用程序项目的启动逻辑,因为向导没有自动添加任何必要的调用。
  • 解决缺乏自动端点检测的问题,这是启动代码结构的结果。

此外,还将所有软件包更新到最新版本。

注意:当然也可以更新Blazor应用程序的启动结构来遵循Aspire,而不是走所概述的相反的道路。XAF团队计划相应地更新模板和示例,但这是一个有很多步骤和陷阱的过程,特别是对于现有的项目。由于许多XAF解决方案是由您和我们在旧模板的基础上创建的,因此认为现在对Aspire方面必要的调整描述更为重要。

未完待续,下期继续......

相关文章:

  • 拖拉拽效果加点击事件
  • 智慧交通内容及发展趋势概述
  • 第五章 SQLite数据库:6、SQLite 常用语法1
  • 【数据结构】AVL树
  • 主数据管理:企业数字化转型的 “数据基石“ 如何为 AI 筑基?
  • Google Mock(GMock):C++单元测试的高效模拟框架详解
  • D4707同步整流器:提升Flyback转换器效率的关键元件
  • 本地Ubuntu轻松部署高效性能监控平台SigNoz与远程使用教程
  • Django 实现物联网管理系统的详细方案
  • Unity3D 测试驱动开发(TDD)框架设计
  • Immich图库本地部署与远程管理:打造你的专属照片云服务
  • Intel(R) Wi-Fi 6 AX201 160MHz
  • Linux信号三部曲:产生机制、处理方式与内核接口
  • vscode+keil嵌入式软件开发全流程
  • 数码管LED显示屏矩阵驱动技术详解
  • Django REST Framework (DRF)
  • 神经网络优化 - 高维变量的非凸优化
  • 卡尔曼滤波-从公式到理解
  • Flink调优面试题及参考答案20道
  • 搭建用友U9Cloud ERP及UAP IDE环境
  • 广东茂名信宜出现龙卷,一家具厂铁皮房受损
  • 照护者说|胡泳:向死而在,爱这个世界
  • 多家国有大行存款利率即将迎来新一轮下调
  • 小米法务部:犯罪团伙操纵近万账号诋毁小米,该起黑公关案告破
  • 国新办10时将举行新闻发布会,介绍4月份国民经济运行情况
  • IPO周报|本周2只新股申购,比亚迪、上汽“小伙伴”来了