内容推荐 为了学习全栈Web开发,你需要掌握前端和后端开发知识。本书呈现ASP.NET Core 3.1和Angular 9令人惊叹的功能,从项目设置一直讲到项目部署,帮你有效提高编程技能。 本书开篇介绍如何使用.NET Core框架和WebAPI控制器,在后端实现API调用和服务器端路由。此后讨论如何使用Entity Framework Core来构建数据模型,并使用本地SQL Server实例或基于云的数据存储(如Microsoft Azure)来配置它。本书还指导你使用Anqular响应式表单来处理用户输入,并使用前端和后端验证器来获得最佳效果。之后将探讨xUnit.net(用于.NET Core)、Jasmine和Karma(用于Angular)的高级调试和单元测试功能。最后,你将使用ASP.NET Core ldentity系统和新版ldentityServer实现不同的身份验证和授权技术,并使用IIS、Kestrel和Nginx将应用程序部署到Windows和Linux服务器上。 学完本书后,你将掌握必要的开发技能,能用ASP.NET Core和Angular创建高效的Web应用程序。 作者简介 瓦莱里奥·德·桑克蒂斯,Valerio De Sanctis是一位资深IT专家,在使用ASP.NET、PHP、Java进行Web开发和项目管理方面拥有逾15年的经验。Valerio曾在多家金融和保险公司担任高级职务,为多个知名的客户和合作伙伴设计企业级Web应用程序项目的架构。Valerio目前在一家业内领先的售后和IT服务公司担任首席技术官、首席安全官和首席运营官。Valerio是Stack Exchange网络的活跃成员,在StackOverflow、ServerFault和SuperUser社区提供关于.NET、JavaScript、HTML5和Web开发的建议。Valerio是Microsoft开发技术MVP,撰写的多本Web开发书籍成为Amazon畅销图书,在全球范围内销售了数万册。 目录 第1章 准备工作 1.1 技术需求 1.2 两个框架,一个目标 1.2.1 ASP.NET Core的变革 1.2.2 Angular有哪些新变化? 1.2.3 选择.NET Core和 Angular的理由 1.3 全栈方法 1.4 SPA、NWA和PWA 1.4.1 单页面应用程序 1.4.2 原生Web应用程序 1.4.3 渐进式Web应用程序 1.4.4 产品负责人的期望 1.5 SPA项目示例 1.6 准备工作空间 1.6.1 免责声明 1.6.2 创建项目 1.7 小结 1.8 推荐主题 第2章 探索项目 2.1 技术需求 2.2 解决方案概述 2.3 .NET Core后端 2.3.1 Razor页面 2.3.2 控制器 2.3.3 配置文件 2.4 Angular 前端 2.4.1 工作空间 2.4.2 /ClientApp/src/文件夹 2.4.3 测试应用 2.5 开始工作 2.5.1 静态文件缓存 2.5.2 清理客户端应用 2.6 小结 2.7 推荐主题 第3章 前端与后端的交互 3.1 技术需求 3.2 .NET Core健康检查简介 3.2.1 添加 HealthCheck 中间件 3.2.2 添加网际控制报文协议检查 3.2.3 改进ICMPHealthCheck类 3.3 Angular 中的健康检查 3.3.1 创建 Angular 组件 3.3.2 将组件添加到Angular应用 3.4 小结 3.5 推荐主题 第4章 使用Entity Framework Core 创建数据模型 4.1 技术需求 4.2 WorldCities Web 应用 4.3 数据源 4.4 数据模型 4.4.1 Entity Framework Core 简介 4.4.2 安装Entity Framework Core 4.4.3 SOL Server数据提供者 4.4.4 数据建模方法 4.5 创建实体 4.5.1 定义实体 4.5.2 定义关系 4.6 获取 SOL Server 4.6.1 安装 SOL Server 2019 4.6.2 在 Azure 上创建数据库 4.6.3 配置数据库 4.7 使用代码优先方法创建数据库 4.7.1 设置 DbContext 4.7.2 数据库初始化策略 4.7.3 更新 appsettings.json 文件 4.7.4 创建数据库 4.7.5 添加初始迁移 4.8 填充数据库 4.9 实体控制器 4.9.1 CitiesController 4.9.2 CountriesController 4.10 小结 4.11 推荐主题 第5章 获取和显示数据 5.1 技术需求 5.2 获取数据 5.2.1 请求和响应 5.2.2 一个长列表 5.3 使用 Angular Material 提供数据 5.3.1 MatTableModule 5.3.2 MatPaginatorModule 5.3.3 MatSortModule 5.3.4 添加过滤功能 5.4 更新国家/地区 5.4.1 .NET Core 5.4.2 Angular 5.5 小结 5.6 推荐主题 第6章 表单和数据验证 6.1 技术需求 6.2 探索Angular表单 6.2.1 Angular中的表单 6.2.2 使用表单的理由 6.2.3 模板驱动的表单 6.2.4 模型驱动的/响应式表单 6.3 构建第一个响应式表单 6.3.1 ReactiveFormsModule 6.3.2 CityEditComponent 6.3.3 添加导航链接 6.4 添加一个新城市 6.4.1 扩展CityEditComponent 6.4.2 添加 Create a new City 按钮 6.4.3 HTML select 6.4.4 Angular Material select(MatSelectModule) 6.5 理解数据验证 6.5.1 模板驱动的验证 6.5.2 模型驱动的验证 6.5.3 服务器端验证 6.6 FormBuilder 简介 6.6.1 创建CountryEditComponent 6.6.2 测试CountryEditComponent 6.7 小结 6.8 推荐主题 第7章 代码调整和数据服务 7.1 技术需求 7.2 优化和调整 7.2.1 模板改进 7.2.2 类继承 7.3 Bug修复和改进 7.3.1 验证 lat和lon 7.3.2 添加城市个数 7.3.3 DTO类——真的应该使用它们吗? 7.3.4 添加国家/地区名称 7.4 数据服务 7.4.1 对比 XMLHtpRequest 与 fetch(和 HtpClient) 7.4.2 构建数据服务 7.5 小结 7.6 推荐主题 第8章 后端和前端调试 8.1 技术需求 8.2 后端调试 8.2.1 Windows 还是Linux 8.2.2 基础知识 8.2.3 条件断点 8.2.4 Output窗口 8.2.5 调试EF Core 8.3 前端调试 8.3.1 Visual Studio 中的JavaScript 调试 8.3.2 浏览器开发者工具 8.3.3 调试 Angular表单 8.3.4 客户端调试 8.4 小结 8.5 推荐主题 第9章 ASP.NET Core 和Angular单元测试 9.1 技术需求 9.2 .NET Core单元测试 9.2.1 创建 WorldCities.Tests 项目 9.2.2 第一个测试 9.2.3 测试驱动的开发 9.2.4 行为驱动的开发 9.3 Angular单元测试 9.3.1 一般概念 3.3.2 第一个Angular测试套件 9.4 小结 9.5 推荐主题 第10章 身份验证和授权 10.1 技术需求 10.2 是否进行身份验证和授权 10.2.1 身份验证 10.2.2 |