《ASP.NET Core从入门到精通》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了进行ASP.NET Core应用开发应该掌握的各方面技术。全书分为4篇,共18章,包括ASP.NET Core入门、.NET Core环境搭建、.NET Core命令行工具及包管理、C#新语法、异步编程、LINQ编程、.NET Core核心组件、ASP.NET Core Web应用、Razor与ASP.NET Core、ASP.NET Core数据访问、ASP.NET Core MVC网站开发、ASP.NET Core WebAPI、使用Blazor构建应用、SignalR服务器端消息推送、gRPC远程过程调用、身份验证和授权、ASP.NET Core应用发布部署以及ASP.NET Core开源项目解析等内容。本书所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会ASP.NET Core应用开发的精髓,以快速提高开发技能。
第1篇 基础知识
第1章 ASP.NET Core入门 2
1.1 认识.NET Core 2
1.1.1 .NET Core与.NET Framework 2
1.1.2 .NET Core与.NET 3
1.1.3 .NET Core的特点 3
1.1.4 .NET Core的版本 4
1.1.5 .NET Core的应用领域 5
1.2 ASP.NET Core 5
1.2.1 ASP.NET Core的特点 5
1.2.2 ASP.NET Core的版本 6
1.2.3 ASP.NET Core与ASP.NET 9
1.3 .NET Standard 9
1.3.1 什么是.NET Standard 10
1.3.2 .NET Standard的版本 10
1.3.3 如何选择.NET Standard版本 11
1.4 要点回顾 11
第2章 .NET Core环境搭建 12
2.1 Visual Studio 2022 12
2.1.1 安装Visual Studio 2022的必备条件 13
2.1.2 下载Visual Studio 2022 13
2.1.3 安装Visual Studio 2022 13
2.1.4 Visual Studio 2022的维护 16
2.1.5 Visual Studio 2022的使用 17
2.1.6 熟悉Visual Studio 2022 20
2.2 Visual Studio Code 22
2.2.1 下载Visual Studio Code 22
2.2.2 安装Visual Studio Code 23
2.2.3 Visual Studio Code的汉化 24
2.2.4 设置Visual Studio Code主题 26
2.2.5 Visual Studio Code的配置 27
2.2.6 Visual Studio Code的使用 30
2.3 Visual Studio for Mac 32
2.3.1 安装Visual Studio 2022 for Mac的必备条件 33
2.3.2 下载Visual Studio 2022 for Mac 33
2.3.3 安装并使用Visual Studio 2022 for Mac 33
2.4 要点回顾 35
第3章 .NET Core命令行工具及包管理 36
3.1 dotnet命令 36
3.1.1 dotnet概述 36
3.1.2 dotnet命令的使用 38
3.2 NuGet包管理 40
3.2.1 什么是NuGet 40
3.2.2 使用dotnet命令管理NuGet 40
3.2.3 Visual Studio中的NuGet包管理器 42
3.3 要点回顾 44
第4章 C#新语法 45
4.1 顶级语句 45
4.2 using命名空间相关改进 47
4.2.1 文件范围的命名空间声明 47
4.2.2 对于using声明的改进 48
4.2.3 指定全局using指令 49
4.2.4 隐式using指令 50
4.3 可空引用类型 51
4.4 模式匹配与if 53
4.4.1 类型模式 53
4.4.2 声明模式 53
4.4.3 关系模式 54
4.4.4 逻辑模式 54
4.4.5 属性模式 54
4.5 模式匹配与switch 55
4.6 switch表达式 56
4.7 record记录类型 57
4.7.1 引用类型记录 58
4.7.2 值类型记录 62
4.8 要点回顾 63
第5章 异步编程 64
5.1 什么是异步编程 64
5.2 .NET异步编程基础 65
5.2.1 async和await 65
5.2.2 Task类 65
5.2.3 常用支持异步编程的类型 66
5.3 异步方法的声明及调用 67
5.4 探秘异步编程背后的原理 69
5.5 异步与多线程的区别 73
5.6 要点回顾 75
第6章 LINQ编程 76
6.1 LINQ概述 76
6.2 LINQ查询基础 77
6.2.1 LINQ中的查询形式 77
6.2.2 LINQ查询表达式的结构 78
6.2.3 标准查询运算符 79
6.2.4 有关LINQ的语言特性 89
6.2.5 Func委托与匿名方法 90
6.2.6 Lambda表达式 91
6.3 LINQ编程应用 92
6.3.1 简单的List集合筛选 92
6.3.2 模拟数据分页 93
6.4 要点回顾 94
第2篇 核心技术
第7章 .NET Core核心组件 96
7.1 依赖注入 96
7.1.1 什么是依赖注入 96
7.1.2 依赖注入中的几个基本概念 98
7.1.3 .NET Core内置依赖注入容器 99
7.1.4 生命周期 102
7.1.5 依赖注入的实现 103
7.1.6 依赖注入的应用 104
7.2 配置系统 107
7.2.1 添加配置文件 107
7.2.2 读取配置设置 108
7.2.3 其他类型的配置文件添加及读取 112
7.2.4 配置系统使用总结 115
7.3 日志 115
7.3.1 日志相关的接口 115
7.3.2 日志的使用步骤 116
7.4 要点回顾 117
第8章 ASP.NET Core Web应用 118
8.1 创建ASP.NET Core Web应用 118
8.2 ASP.NET Core Web应用基础 121
8.2.1 ASP.NET Core Web应用项目结构 121
8.2.2 ASP.NET Core依赖注入 123
8.2.3 配置 124
8.2.4 用户机密配置 125
8.2.5 中间件 127
8.2.6 日志 129
8.2.7 路由 132
8.2.8 错误处理 134
8.2.9 静态文件 137
8.3 要点回顾 138
第9章 Razor与ASP.NET Core 139
9.1 Razor基础 139
9.1.1 什么是Razor 139
9.1.2 认识Razor的布局页 140
9.2 Razor语法 142
9.2.1 Razor默认代码分析 143
9.2.2 Razor输出 144
9.2.3 注释 146
9.2.4 代码块 147
9.2.5 条件语句 148
9.2.6 循环语句 149
9.2.7 异常处理语句 150
9.2.8 常用Razor指令 151
9.3 Razor在ASP.NET Core中的应用 154
9.4 要点回顾 157
第10章 ASP.NET Core数据访问 158
10.1 认识EF Core 158
10.1.1 什么是EF 158
10.1.2 EF Core与EF 159
10.1.3 EF Core的版本 160
10.2 EF Core的使用 160
10.2.1 创建并配置实体类 160
10.2.2 创建DbContext 165
10.2.3 数据库的迁移 168
10.2.4 通过程序迁移数据库 174
10.2.5 选学:在EF Core中使用现有数据库 175
10.2.6 客户端评估和服务端评估 178
10.3 EF Core的性能优化 180
10.3.1 分页查询 180
10.3.2 全局查询筛选器 180
10.3.3 原始SQL查询 180
10.3.4 跟踪与非跟踪查询 183
10.3.5 延迟加载 184
10.4 案例:EF Core在学生信息管理系统中的应用 184
10.4.1 创建Razor页面 184
10.4.2 显示学生信息列表 187
10.4.3 添加学生信息 189
10.4.4 修改学生信息 192
10.4.5 删除学生信息 195
10.4.6 查看学生详细信息 197
10.5 要点回顾 199
第11章 ASP.NET Core MVC网站开发 200
11.1 MVC基础 200
11.1.1 MVC简介 200
11.1.2 模型、视图和控制器 201
11.1.3 什么是Routing 201
11.1.4 MVC的请求过程 202
11.2 ASP.NET Core MVC的实现过程 202
11.2.1 创建ASP.NET Core MVC网站 202
11.2.2 添加数据模型类 205
11.2.3 添加控制器及视图 207
11.2.4 数据库配置及迁移 212
11.2.5 自定义MVC路由配置规则 213
11.2.6 运行ASP.NET Core MVC网站 214
11.3 要点回顾 216
第12章 ASP.NET Core WebAPI 217
12.1 WebAPI基础 217
12.1.1 什么是前后端分离 217
12.1.2 ASP.NET Core中的WebAPI 218
12.1.3 RESTful基础 218
12.2 ASP.NET Core WebAPI项目搭建 219
12.2.1 创建ASP.NET Core WebAPI项目 219
12.2.2 ASP.NET Core WebAPI项目演示 223
12.3 ASP.NET Core WebAPI项目分析 225
12.3.1 ControllerBase类 225
12.3.2 [ApiController]和[Route("[controller]")] 228
12.3.3 [HttpGet]请求及其他HTTP请求 230
12.3.4 Swagger 231
12.4 ASP.NET Core WebAPI应用 231
12.4.1 项目创建及初始化配置 232
12.4.2 创建控制器类 233
12.4.3 WebAPI测试 236
12.5 要点回顾 240
第3篇 高级应用
第13章 使用Blazor构建应用 242
13.1 Blazor概述 242
13.2 Blazor基础 243
13.2.1 Blazor的3种托管模式 243
13.2.2 Razor组件 245
13.3 创建Blazor应用 246
13.3.1 创建Blazor Server应用 246
13.3.2 创建Blazor WebAssembly应用 251
13.3.3 Blazor应用解析 255
13.4 Blazor案例应用 259
13.5 要点回顾 262
第14章 SignalR服务器端消息推送 263
14.1 网络实时通信发展历史 263
14.1.1 XMLHttpRequest 263
14.1.2 AJAX 264
14.1.3 WebSocket 264
14.1.4 Server-Sent Events 264
14.1.5 SignalR 265
14.2 使用SignalR构建实时通信服务 266
14.2.1 添加SignalR客户端库 266
14.2.2 实现SignalR Hub类 267
14.2.3 配置SignalR服务器 268
14.2.4 实现客户端页面 269
14.2.5 运行程序 271
14.2.6 针对部分客户端进行消息推送 271
14.3 SignalR的分布式部署 272
14.4 要点回顾 273
第15章 gRPC远程过程调用 274
15.1 gRPC基础 274
15.1.1 gRPC概述 274
15.1.2 ProtoBuf基础 275
15.2 gRPC服务端创建及解析 278
15.2.1 创建gRPC服务端 278
15.2.2 gRPC服务端项目解析 280
15.2.3 启动gRPC服务端 281
15.3 gRPC客户端调用 282
15.3.1 在ASP.NET Core Web应用中调用gRPC服务 282
15.3.2 在.NET控制台应用中调用gRPC服务 286
15.3.3 流式处理调用 287
15.4 gRPC与WebAPI的功能比较 289
15.5 要点回顾 289
第16章 身份验证和授权 290
16.1 身份验证和授权概念 290
16.1.1 身份验证概述 290
16.1.2 授权概述 291
16.2 ASP.NET Core中的身份验证和授权机制 292
16.2.1 ASP.NET Core中的身份验证 292
16.2.2 ASP.NET Core中的授权 292
16.2.3 身份验证和授权机制实现 293
16.3 带身份验证的ASP.NET Core Web项目解析 299
16.3.1 Program.cs主程序文件配置 299
16.3.2 自定义配置 300
16.3.3 注册功能的实现 302
16.3.4 登录功能的实现 303
16.4 要点回顾 304
第17章 ASP.NET Core应用发布部署 305
17.1 发布部署概述 305
17.2 发布ASP.NET Core应用 306
17.2.1 使用Visual Studio将应用发布到文件夹 306
17.2.2 使用.NET CLI命令发布应用 312
17.3 部署ASP.NET Core应用 313
17.3.1 在IIS上部署 313
17.3.2 在Kestrel服务器上部署 319
17.4 要点回顾 320
第4篇 开源项目
第18章 ASP.NET Core开源项目解析 322
18.1 .NET快速开发框架:Furion 323
18.1.1 框架介绍 323
18.1.2 运行环境及平台 323
18.1.3 主要功能 323
18.1.4 Furion框架的使用 324
18.2 .NET快速开发框架:vboot-net 329
18.2.1 框架介绍 329
18.2.2 主要功能 329
18.2.3 vboot-net框架的使用 330
18.2.4 效果预览 331
18.3 通用权限管理框架:Magic.NET 334
18.3.1 框架介绍 334
18.3.2 主要功能 334
18.3.3 Magic.NET框架的使用 335
18.3.4 效果预览 337
18.4 电子商城类框架:CoreShop 340
18.4.1 框架介绍 340
18.4.2 开发及运维环境 340
18.4.3 主要功能 341
18.4.4 项目结构 342
18.4.5 效果预览 343
18.5 CMS管理类框架:Orchard Core 347
18.5.1 框架介绍 347
18.5.2 使用Orchard Core的建站策略 348
18.5.3 Orchard Core框架初体验 348
18.5.4 在自己的项目中使用Orchard Core框架 351
18.6 要点回顾 354