这是未完成的基本ASP.NET 8和Angular 17 Web应用程序。该应用基于Visual Studio 2022中的“ Angular和ASP.NET Core”项目模板。目标是使用DeVexPress'DeVexTreme UI UI模板库Anglawer Application并将其用作ASP.NET应用程序的客户端,以展示一个不错的业务线(LOB)应用程序。
我注意到GitHub上的大多数ASP.NET应用程序都缺乏任何UI或使用非常简单的UI。我认为有人应该表现出一个好的UI。
原始的DEVEXPRESS“ UI从DeVexPress” Web服务中获取了所有数据。我复制并修改了它们的角度版本,以便它作为Web客户端部分作为ASP.NET应用程序的一部分运行。现在,“联系人列表”部分从ASP.NET后端获取数据,该数据从数据库中获取。目的是在其余的UI上进行相同类型的转换,但我停了下来,然后继续专注于大火。后端基于干净的体系结构模式,端点 - >服务 - >存储库 - >数据库可以使用相同的约定将其应用于应用程序的其余部分。
该应用程序不会实现任何身份验证,授权,日志记录和容器。要实现此类功能,请参阅Jasontaylordev/Cleanarchitecture,以获取一些灵感和实现。
UI基于DeVexpress的Devextreme,它是一个完整的和抛光的UI组件套件,演示画廊是一个不错的演示。我强烈推荐它。 DeVextreme是免费的非商业应用程序,需要商业应用程序的许可。
设置数据库的说明:
- 第一步是设置数据库。该应用使用SQL Server。如果您使用的是SQL Server 2019或更高版本,则可以在基础架构项目中的“ MISC_FILES”文件夹中从备份文件DXFULLAPP.BAK恢复数据库。
- 否则运行“ Misc_files”文件夹中的DXFullapp.sql脚本,以创建和填充数据库。必要时编辑文件,以将文件名值更新为系统中SQL Server安装的正确路径。
- 如有必要,在appsettings.json文件中,更新DefaultConnectionsTring值。
运行应用程序的说明:
- (在一个问题上,解决方案需要几分钟才能加载Vs 2022。尚不确定是否是本地问题。)
- 设置数据库和连接字符串后,将服务器项目成为启动项目。运行该应用程序,它将启动带有联系人的页面的浏览器。初始页面将显示一个损坏的页面,然后自动刷新并正确渲染。这应该是解决的。
待办事项清单(目前没有计划完成):
- 将所有UI转换为使用ASP.NET后端而不是DeVexPress的终点。
- 创建所有DTO为客户服务并将实体映射到他们。 (如果首选,请使用自动应用程序或映射)。
- 添加单元,功能,集成和最终测试。
- UI不做任何更新,例如保存编辑或创建新对象。实施这些。
- 添加身份验证,授权,记录,健康检查..等
- 尝试最小API而不是基于控制器的API。
- Angular客户端在版本17时,它并没有真正使用该版本的任何特定功能。我所做的只是将其从版本15转换为17。
为什么devextreme:
- 它具有数十个高质量,抛光和可扩展的UI组件,它们本地支持角度,反应,vue,jQuery和Plain JavaScript。
- 出色的技术支持和文档。通过实时可自定义的演示在线显示每个组件的功能。
- 功能强大且移动响应的数据网格。整个套房的价格低于另一个流行的仅A-Grid UI组件的价格。
- 虽然它确实花费了钱,但从长远来看,它将使用开源UI组件的大杂货店削减开发成本和支持时间与支持时间的成本,从而为您节省大量资金。使用公司谋生的组件,而不是依赖开发人员或社区的空闲时间。
- PS:除了成为一个快乐的客户外,我与Devexpress没有其他联系。我只是表达我的个人意见。
- 享受编码!