-
内容大纲
本书通过逐步构建一个完整的开发框架,帮助读者深入理解和掌握ASP.NET Core开发框架的核心概念和技术。本书以实际项目为基础,通过逐步迭代的方式引导读者从零开始构建一个功能强大的开发框架。本书不仅介绍了如何搭建项目结构、处理路由和中间件、使用依赖注入和配置管理等关键技术,还介绍了如何处理身份验证和授权、使用数据库和ORM、编写单元测试等实际开发中常见的问题和技术。本书配有读者交流学习群,可扫描勒口二维码进群。相关代码可通过前言中的代码仓库地址获得。
这是一本面向ASP.NET Core初学者和有一定经验的开发者的实用指南。通过本书的学习,读者将获得一个全面的ASP.NET Core开发框架的知识体系,并能够应用这些知识构建自己的Web应用程序。 -
作者介绍
刘俊繁,高级工程师/架构师,团队技术负责人。博客园技术博主(饭勺oO)。在技术领域有着丰富的经验和深厚的造诣,专业领域主要集中在DotNet技术栈,擅长处理高并发项目、微服务应用、DevOps实践以及云原生开发。拥有大量实践经验,运用各种技术工具和框架来解决复杂的技术难题。热爱钻研最新的技术趋势和开源项目。 -
目录
前言
第1章 应用程序启动类——Startup
1.1 Startup介绍
1.1.1 Startup模板
1.1.2 WebApplication
1.2 扩展Startup
1.2.1 浅谈IStartupFilter的应用场景
1.2.2 IHostingStartup
第2章 ASP.NET Core中的依赖注入
2.1 依赖注入概念
2.1.1 依赖注入的重要性
2.1.2 依赖关系解决哪些问题
2.2 探索ASP.NET Core中的依赖注入
2.2.1 生命周期
2.2.2 服务注册方法
2.2.3 服务注入
2.3 注意事项
第3章 处理HTTP请求或响应的软件管道——中间件
3.1 中间件介绍
3.2 编写中间件
3.2.1 UseMiddleware
3.2.2 IMiddleware
3.2.3 基于约定的中间件和基于工厂的中间件的区别
3.3 中间件顺序
第4章 托管应用程序的宿主环境——Host
4.1 Host简介
4.1.1 Host的作用
4.1.2 Host的用法
4.2 Host的常见用例
4.3 Web Host和Generic Host
4.4 WebApplication
第5章 Web服务器——Kestrel
5.1 Kestrel简介
5.1.1 作为边缘服务器
5.1.2 反向代理服务器结合使用
5.2 Kestrel的原理
5.3 Kestrel与其他Web服务器的对比
5.4 Kestrel配置指南
第6章 ASP.NET Core中的配置
6.1 配置简介
6.1.1 配置的重要功能
6.1.2 常用配置源
6.2 配置优先级
6.3 配置提供程序
6.3.1 MemoryConfigurationProvider内存配置提供程序
6.3.2 FileConfigurationProvider文件配置提供程序
6.3.3 自定义配置提供程序
6.4 配置绑定
第7章 Options
7.1 Options概述
7.2 Options使用方式
7.2.1 定义Options类
7.2.2 注册Options
7.2.3 使用Options
7.3 IOptions、IOptionsSnapshot和IOptionsMonitor
7.4 IConfigureNamedOptions、OptionsBuilder和IValidateOptions
第8章 ASP.NET Core中的日志
8.1 日志配置
8.2 日志类别级别
8.3 日志记录提供程序
8.4 日志使用方式
8.5 日志使用场景
第9章 ASP.NET Core中的路由
9.1 基本示例
9.2 UseRouting和UseEndpoints
9.3 路由基本原理
9.4 路由模板
9.5 路由参数
9.5.1 属性路由
9.5.2 参数路由
9.6 路由约束
第10章 ASP.NET Core中的异常处理
10.1 异常处理介绍
10.1.1 什么是异常处理
10.1.2 异常处理的重要性
10.2 异常处理方式
10.2.1 TryCatch
10.2.2 开发人员异常页
10.2.3 异常处理程序页
10.2.4 自定义异常处理程序页
第11章 发送Http请求——HttpClient
11.1 HttpClient的基本用法
11.2 HttpClientFactory的介绍
11.3 HttpClientFactory的高级用法
11.3.1 命名HttpClient
11.3.2 Typed HttpClient
第12章 ASP.NET Core中的实时应用
12.1 关于ASP.NET Core SignalR的介绍
12.1.1 什么是ASP.NET Core SignalR
12.1.2 SignalR的优势和用途
12.2 SignalR基础知识
12.3 SignalR架构和工作原理
12.4 使用SignalR构建实时应用程序
12.4.1 创建项目
12.4.2 测试
第13章 数据库ORM——EF Core
13.1 安装EF Core
13.2 定义模型类
13.3 创建数据库上下文
13.4 进行数据库迁移
13.5 进行数据库操作
13.5.1 添加新产品
13.5.2 查询产品列表
13.5.3 更新产品
13.5.4 删除产品
第14章 搭建项目
14.1 环境搭建
14.1.1 Dotnet 8 SDK
14.1.2 Visual Studio 2022预览版
14.2 创建项目
14.2.1 创建空白解决方案
14.2.2 创建ASP.NET Core空项目
第15章 基础设施初步建设
15.1 自动依赖注入
15.1.1 技术选型
15.1.2 生命周期接口
15.1.3 集成Autofac
15.2 日志
15.2.1 技术选型
15.2.2 集成Serilog
15.3 统一业务异常处理
15.3.1 自定义业务异常类
15.3.2 约定错误码
15.3.3 UseExceptionHandler
15.4 统一请求响应格式
15.4.1 响应基类
15.4.2 分页基类
15.5 缓存
15.5.1 缓存介绍
15.5.2 缓存的基本用法
15.6 ORM集成
15.6.1 安装包
15.6.2 DbContext
15.6.3 封装Repository
15.6.4 工作单元UOW
15.6.5 EF拦截器
第16章 用户角色体系及权限
16.1 集成ASP.NET Core Identity
16.1.1 安装包
16.1.2 创建实体
16.1.3 修改DbContext与配置表结构
16.1.4 执行数据库迁移命令
16.1.5 配置Identity
16.2 自定义授权策略
16.2.1 权限检查接口定义
16.2.2 实现AuthorizationHandler
16.2.3 实现AuthorizationPolicyProvider
16.2.4 实现权限检查接口
16.2.5 创建抽象基类
16.3 权限管理
16.3.1 表设计
16.3.2 修改DbContext与配置表结构
16.3.3 实现权限管理
16.3.4 测试API
16.4 角色用户管理
16.4.1 实现RoleManageAppService
16.4.2 实现RoleManageController
16.4.3 实现UserManageAppService
16.4.4 实现UserManageController
第17章 多语言及菜单管理实现
17.1 多语言管理
17.1.1 创建表实体
17.1.2 修改DbContext与配置表结构
17.1.3 实现EF多语言
17.1.4 启用多语言
17.1.5 多语言管理API实现
17.2 菜单管理
17.2.1 设计菜单结构
17.2.2 修改DbContext与配置表结构
17.2.3 实现菜单管理
第18章 完善基础设施
18.1 EventBus
18.1.1 技术选型
18.1.2 定义接口
18.1.3 实现LocalEventBus
18.1.4 实现DistributedEventBus
18.1.5 启用EventBus
18.1.6 测试效果
18.2 消息实时推送
18.2.1 技术选型
18.2.2 NotificationHub消息通知集线器
18.2.3 约定消息通知结构
18.2.4 自定义UserIdProvider
18.2.5 配置SignalR
18.2.6 配合EventBus进行推送
18.3 种子数据
18.3.1 种子数据接口
18.3.2 DataSeederExtensions
18.3.3 实现种子数据
18.4 集成GraphQL
18.4.1 对比GraphQL和WebApi
18.4.2 集成HotChocolate.AspNetCore
18.4.3 实现QueryType
18.4.4 添加授权
18.4.5 集成现有Service
第19章 实现设置管理与文件管理
19.1 设置管理
19.1.1 设计结构
19.1.2 修改DbContext与配置表结构
19.1.3 实现SettingManager
19.1.4 设置定义
19.1.5 SettingManage
19.1.6 SettingProvider
19.1.7 UpdateSettingEvent
19.1.8 测试
19.2 文件管理
19.2.1 数据库设计
19.2.2 修改DbContext与配置表结构
19.2.3 FileStorageProvider
19.2.4 实现FileProviderSettingDefinition文件上传设置定义
19.2.5 实现MinioFileStorageProvider文件上传提供程序
19.2.6 FileStorageManage
19.2.7 测试
第20章 单层应用总结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...