内容推荐 本书通过逐步构建一个完整的开发框架,帮助读者深入理解和掌握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 |