项目介绍:Microsoft eShopOnWeb ASP.NET Core 参考应用
eShopOnWeb 是一个由微软开发的示例应用程序,旨在演示一种单进程(整体式)应用程序架构和部署模型。这一项目主要帮助新手开发者了解 .NET 开发,并作为 ASP.NET Core 和 Azure 现代 Web 应用程序架构的电子书的配套示例。
项目背景
Microsoft 提供了这个参考应用程序来帮助开发人员理解和实现场景中的一些架构原则和应用模式。尽管 eShopOnWeb 的功能较为简化,并未完全实现一个完整的电商系统所需的所有功能,但它确实提供了一些关键性的设计思路和使用模式。
eShopOnWeb 的特点
- 基于 ASP.NET Core:eShopOnWeb 使用最新的 ASP.NET Core 8.0 来构建和展示应用程序。
- 强调传统 Web 开发:它聚焦于展示传统的 Web 应用开发,而不是复杂的微服务架构。
- 配套学习资料:该项目还有一本免费的电子书,与应用程序示例相辅相成,提供了现代 Web 应用开发的架构指南。
- 简化功能:项目的目标并不是成为一个电商应用的参考实现,因此许多电商平台的常见功能并没有实现,更多是作为学习用例。
运行示例应用
开发者可以选择在本地环境下运行这个示例应用,或者通过 Azure 开发者 CLI 在 Azure 上进行部署。Azure 开发者 CLI 是一个面向开发者的命令行工具,用于创建 Azure 应用。
在本地运行
为了在本地运行该应用,开发者需要配置 SQL Server 并通过 dotnet ef
工具进行数据库迁移。同时,开发者可以使用 Visual Studio 的多项目启动功能,或通过命令行分别运行 Web 应用和 Public API。
使用 Docker 运行
开发者也可以选择使用 Docker 来运行应用,通过 docker-compose
命令来构建并启动应用,从而避免本地工具的安装要求。
使用开发容器
项目还包括一个开发容器配置,允许开发者在容器中使用完整的开发环境,而不需要在本地安装任何工具。这一特性可以通过 GitHub Codespaces 或 VS Code 的开发容器扩展来实现。
使用 Azure 开发者 CLI
开发者可以在安装 Azure 开发者 CLI 后,使用 azd
命令快速在 Azure 上准备和部署该应用,简化了云端环境的搭建与应用的托管过程。
社区扩展
eShopOnWeb 项目得到了社区的广泛关注,一些开发者贡献了许多精彩的扩展版本,如使用 VB.NET 实现的 [eShopOnWeb VB.NET] 和使用 F# 的 [FShopOnWeb]。这些社区扩展丰富了项目的技术多样性,为开发者提供了更多的学习角度。
总结
eShopOnWeb 是一个丰富且易于理解的学习资源,通过它,开发人员可以深入了解传统 Web 应用开发的关键概念,同时也为更复杂的软件架构如微服务提供了基础理解。它不仅适用于新手开发者,也是经验丰富的开发者完善技能的一种方式。