本教程讲述的是基于微软 Microsoft .NET 的成熟且经过验证的 Web 开发技术。这些技术经过十多年时间的打磨,拥有丰富的文档资源、活跃的支持论坛以及大量的第三方投资支持。
这些技术包括:
- ASP.NET Core:用于构建网站和服务的一组共享组件。
- ASP.NET Core MVC:一种”M模型-V视图-C控制器”设计模式的实现,用于开发复杂且结构良好的网站。
- ASP.NET Core Web APIs:用于构建基于控制器的 Web 服务,符合HTTP/REST 服务约定。
- ASP.NET Core OData:用于使用开放标准构建数据访问 Web 服务。
- Umbraco CMS:一个第三方、开源的内容管理系统(CMS)平台,基于 ASP.NET Core 构建。
使用这些技术,你将学习如何使用 .NET 8 或 .NET 9(这两个版本是当前得到积极支持的 .NET 版本)构建跨平台的网站和 Web 服务。
你可以选择其中任何一个版本,因为我们将要学习的一些新特性,如 HybridCache 类,具有与 .NET 8的向后兼容性。而其他一些特性,如新的 MapStaticAssets 方法(优化样式表和 JavaScript 等文件),仅在 .NET 9 中有效。遇到这种情况时,我会特别提醒你。
选择 .NET 8 的好处在于它是长期支持(LTS)版本,意味着它将获得三年的支持。 .NET 8 将于 2026年 11 月结束生命周期。
选择最新的 .NET 9 的好处在于与早期版本相比,它在性能改进和对云托管容器化支持方面有显著提升。 .NET 9 将于 2026 年 5 月结束生命周期。
在本教程中,我使用“现代(modern) .NET”一词来指代 .NET 9 及其前身(如 .NET 6),这些版本源自 .NET Core。我使用“遗留(legacy) .NET”一词来指代 .NET Framework、Mono、Xamarin 和 .NET Standard。现代 .NET 是这些遗留平台和标准的统一。
也就是说,今天的各位读者,如果你更专注于开发应用,而不是了解历史或是维护老旧系统,你完全可以不再关心“现代”与”遗留“之间的区别。
?? 在我的设计中,这套课程的针对人群是假设你已经接触过.NET开发人员,已经受雇于软件开发企业。你主要使用成熟且经过验证的技术,如MVC,而非微软推崇的最新技术,例如Blazor。作者还假设你对作为网页设计师或内容编辑员的职业兴趣较少。
我建议你按顺序逐章学习,因为后面的章节将引用前面章节中的项目,你将积累足够的知识和技能,以应对后面章节中的更具挑战性的问题。例如,本章的最后一部分将引导你创建一对类库,这些类库定义了一个数据库实体模型,后续章节将使用该模型。
本章将涵盖以下主题:
- 理解ASP.NET Core
- 构建项目结构和管理包
- 充分利用本教程的GitHub仓库
- 构建实体模型,以便在本教程的其余部分中使用
警告!本教程的前提是你已经掌握C#和.NET的基础知识,并且假设你已经设置好开发环境,使用Visual Studio 2022、Visual Studio Code或JetBrains Rider。整个学习过程中,我将分别使用Visual Studio、VS Code和Rider来指代这三种代码编辑器。