《ASP.NET Core 6框架揭秘》目录

第1章 编程体验
     1.1 控制台程序
         1.1.1 构建开发环境
         1.1.2 命令行构建 .NET应用
     1.2 ASP.NET应用
         1.2.1 launchSettings.json
         1.2.2 Minimal
         1.2.3 中间件
         1.2.4 配置选项
         1.2.5 诊断日志
         1.2.6 路由
     1.3 MVC
         1.3.1 定义Controller
         1.3.2 引入视图
     1.4 gRPC
         1.4.1 定义服务
         1.4.2 实现和承载
         1.4.3 调用服务
     1.5 Dapr
         1.5.1 构建开发环境
         1.5.2 服务调用
         1.5.3 状态管理
         1.5.4 发布订阅
         1.5.5 Actor模型
第2章 依赖注入(上篇)
     2.1 控制反转
         2.1.1 流程控制的反转
         2.1.2 好莱坞法则
         2.1.3 流程定制
     2.2 IoC模式
         2.2.1 模板方法
         2.2.2 工厂方法
3.2.3 抽象工厂 43
     2.3 依赖注入
         2.3.1 由容器提供对象
         2.3.2 三种注入方式
         2.3.3 Service
     2.4 一个简易版的依赖注入容器
         2.4.1 编程体验
         3.4.2 设计与实现
         3.4.3 扩展方法
第3章 依赖注入(下篇)
     3.1 利用容器提供服务
         3.1.1 服务的注册与消费
         3.1.2 生命周期
         3.1.3 服务注册的验证
     3.2 服务注册
         3.2.1 ServiceDescriptor
         3.2.2 IServiceCollection
     3.3 服务的消费
         3.3.1 IServiceProvider
         3.3.2 服务实例的创建
         3.3.3 生命周期
         3.3.4 ActivatorUtilities
     3.4 扩展
         3.4.1. 适配
         3.4.2. IServiceProviderFactory<TContainerBuilder>
         3.4.3. 整合第三方依赖注入框架
第4章 文件系统
     4.1 抽象的文件系统
         4.1.1 树形层次结构
         4.1.2 读取文件内容
         4.1.3 监控文件的变化
     4.2 文件与目录
         4.2.1 IChangeToken
         4.2.2 IFileProvider
         4.2.3 两个特殊的文件系统
     4.3 物理文件系统
         4.3.1 PhysicalFileInfo
         4.3.2 PhysicalDirectoryInfo
         4.3.3 PhysicalDirectoryContents
         4.3.4 NotFoundDirectoryContents
         4.3.5 PhysicalFilesWatcher
     4.4 内嵌文件系统
         4.4.1 将项目文件变成内嵌资源
         4.4.2 读取资源文件
         4.4.3 EmbeddedFileProvider
第5章 配置选项(上篇)
     5.1 读取配置信息
         5.1.1 编程模型三要素
         5.1.2 以键值对的形式读取配置
         5.1.3 读取结构化的配置
         5.1.4 将结构化配置直接绑定为对象
         5.1.5 将配置定义在文件中
         5.1.6 根据环境动态加载配置文件
         5.1.7 配置内容的同步
     5.2 配置模型
         5.2.1 数据结构及其转换
         5.2.2 IConfiguration
         5.2.3 IConfigurationProvider
         5.2.4 IConfigurationSource
         5.2.5 IConfigurationBuilder
         5.2.6 ConfigurationManager
     5.3 配置绑定
         5.3.1 绑定配置项的值
         5.3.2 绑定复合对象
         5.3.3 绑定集合
         5.3.4 绑定字典
     5.4 配置的同步
         5.4.1 配置数据流
         5.4.2 ConfigurationReloadToken
         5.4.3 ConfigurationRoot
         5.4.4 ConfigurationSection
     5.5 多样性的配置源
         5.5.1 MemoryConfigurationSource
         5.5.2 EnvironmentVariablesConfigurationSource
         5.5.3 CommandLineConfigurationSource
         5.5.4 FileConfigurationSource
         5.5.5 StreamConfigurationSource
         5.5.6 ChainedConfigurationSource
第6章 配置选项(下篇)
     6.1 Options模式
         6.1.1 将配置绑定为Options对象
         6.1.2 提供具名的Options
         6.1.3 配置源的同步
         6.1.4 直接初始化Options对象
         6.1.5 根据依赖服务的Options设置
         6.1.6 验证Options的有效性
     6.2 Options模型
         6.2.1 OptionsManager<TOptions>
         6.2.2 IOptionsFactory<TOptions>
         6.2.3 IOptionsMonitorCache<TOptions>
         6.2.4 IOptionsMonitor<TOptions>
     6.3 依赖注入
         6.3.1 服务注册
         6.3.2 IOptions<TOptions>与IOptionsSnapshot<TOptions>
         6.3.3 集成配置系统
第7章 诊断日志(上篇)
     7.1 各种诊断日志形式
         7.1.1 调试日志
         7.1.2 跟踪日志
         7.1.3 事件日志
8.1.4 诊断日志 184
     7.2 Debugger调试日志
         7.2.1 Debugger
         7.2.2 Debug
     7.3 TraceSource跟踪日志
         7.3.1 跟踪日志模型三要素
         7.3.2 预定义TraceListener
         7.3.3 Trace
     7.4 EventSource事件日志
         7.4.1 EventSource
         7.4.2 EventListener
         7.4.3 活动跟踪
     7.5 DiagnosticSource诊断日志
         7.5.1 标准的观察者模式
         7.5.2 AnonymousObserver<T>
         7.5.3 强类型的事件订阅
         7.5.4 针对活动的跟踪
第8章 诊断日志(中篇)
     8.1 统一日志编程模式
         8.1.1 日志输出
         8.1.2 日志过滤
         8.1.3 日志范围
         8.1.4 LoggerMessage
     8.2 日志模型详解
         8.2.1 日志模型三要素
         8.2.2 ILogger
         8.2.3 ILoggerProvider
         8.2.4 ILoggerFactory
         8.2.5 LoggerMessage
     8.3 日志范围
         8.3.1 调用链跟踪
         8.3.2 服务范围堆栈
         8.3.3 Activity的应用
     8.4 依赖注入
         8.4.1 核心服务
         8.4.2 配置
         8.4.3 日志过滤规则
第9章 诊断日志(下篇)
     9.1 控制台
         9.1.1 ConsoleFormatter
         9.1.2 ConsoleLogger
         9.1.3 ConsoleLoggerProvider
         9.1.4 服务注册
     9.2 调试器
         9.2.1 DebugLogger
         9.2.2 DebugLoggerProvider
     9.3 TraceSource日志
         9.3.1 TraceSourceLogger
         9.3.2 TraceSourceLoggerProvider
     9.4 EventSource日志
         9.4.1 LoggingEventSource
         9.4.2 EventSourceLogger
         9.4.3 EventSourceLoggerProvider
         9.4.4 日志范围
第10章 对象池
     13.1 利用对象池复用对象
         13.1.1 对象的“借”与“还”
         13.1.2 依赖注入
         13.1.3 池化对象策略
         13.1.4 对象池的大小
         13.1.5 对象的释放
     13.2 池化对象管理
         10.2.1 IPooledObjectPolicy<T>
         10.2.2 ObjectPool<T>
         10.2.3 ObjectPoolProvider
     13.3 扩展应用
         10.3.1 池化集合
         10.3.2 池化StringBuilder
         10.3.3 ArrayPool<T>
         10.3.4 MemoryPool<T>
第11章 缓存
     11.1 将数据缓存起来
         11.1.1 将数据缓存在内存中
         11.1.2 将数据缓存在Redis中
         11.1.3 将数据缓存在SQL
     11.2 本地内存缓存
         11.2.1 ICacheEntry
         11.2.2 MemoryCacheEntryOptions
         11.2.3 IMemoryCache
     11.3 分布式缓存
         11.3.1 IDistributedCache
         11.3.2 Redis缓存
         11.3.3 SQL
第12章 HTTP调用
     12.1 HttpClient的工厂
         12.1.1 手工创建HttpClient
         12.1.2 使用IHttpClientFactory工厂
         12.1.3 直接注入HttpClient
         12.1.4 定制HttpClient
         12.1.5 强类型客户端
         12.1.6 失败重试
     12.2 HttpMessageHandler管道
         12.2.1. HttpMessageHandler
         12.2.2. DelegatingHandler
         12.2.3. 诊断日志
         12.2.4. 复用HttpClientHandler
     12.3 HttpClient的构建
         12.3.1. HttpMessageHandlerBuilder
         12.3.2. HttpClientFactoryOptions
         12.3.3. IHttpMessageHandlerBuilderFilter
         12.3.4. IHttpClientFactory
     12.4 依赖注入
         12.4.1. 基础服务注册
         12.4.2. 定制HttpClient
         12.4.3. 强类型客户端
第13章 数据保护
     13.1 加密与哈希
         13.1.6 数据加密与解密
         13.1.7 设置加密内容的有效期
         13.1.8 撤销秘钥
         13.1.9 “瞬时”加解密
         13.1.10 密码哈希
     13.2 加密模型
         13.2.1. IAuthenticatedEncryptor
         13.2.2. IKey
         13.2.3. IKeyRing
         13.2.4. IKeyRingProvider
         13.2.5. IDataProtector
     13.3 密钥管理
         13.3.1. KeyManagementOptions
         13.3.2. Key
         13.3.3. IKeyManager
         13.3.4. KeyRingProvider
     13.4 依赖注入
         13.4.1. 注册基础服务
         13.4.2. 密钥管理配置
         13.4.3. 扩展配置
第14章 服务承载
     14.1 服务承载
         14.1.1 性能指标收集服务
         14.1.2 依赖注入
         14.1.3 配置选项
         14.1.4 承载环境
         14.1.5 日志
     14.2 承载模型
         14.2.1 IHostedService
         14.2.2 IHost
         14.2.3 IHostBuilder
     14.3 承载流程
         14.3.1 服务宿主
         14.3.2 承载设置
         14.3.3 创建宿主
         14.3.4 静态类型Host
第15章 管道(上篇)
     15.1 管道式的请求处理
         15.1.1 承载方式的变迁
         15.1.2 中间件
         15.1.3 定义强类型中间件
         15.1.4 按照约定定义中间件
     15.2 依赖注入
         15.2.1 服务注册
         15.2.2 服务注入
         15.2.3 生命周期
     15.3 配置
         15.3.1 初始化配置
         15.3.2 以键值对形式读取和修改配置
         15.3.3 注册配置源
     15.4 承载环境
         15.4.1 IWebHostEnvironment
         15.4.2 通过配置定制承载环境
         15.4.3 设置监听地址
         15.4.4 针对环境的编程
第16章 应用承载(中篇)
     16.1 中间件委托链
         16.1.1 HttpContext
         16.1.2 中间件
         16.1.3 中间件管道的构建
     16.2 服务器
         16.2.1 IServer
         16.2.2 针对服务器的适配
         16.2.3 HttpListenerServer
     16.3 承载服务
         16.3.1 WebHostedService
         16.3.2 WebHostBuilder
         16.3.3 应用构建
第17 章 应用承载(下篇)
     17.1 共享上下文
         17.1.1 HttpContext
         17.1.2 服务器适配
         17.1.3 获取上下文
         17.1.4 上下文的创建与释放
         17.1.5 RequestServices
     17.2 IServer
         17.2.1 IServer
         17.2.2 HostingApplication
         17.2.3 诊断日志
     17.3 中间件委托链
         17.3.1 IApplicationBuilder
         17.3.2 弱类型中间件
         17.3.3 强类型中间件
         17.3.4 注册中间件
     17.4 应用的承载
         17.4.1 GenericWebHostServiceOptions
         17.4.2 GenericWebHostService
         17.4.3 GenericWebHostBuilder
         17.4.4 ConfigureWebHostDefaults
     17.5 Minimal
         17.5.1 WebApplication
         17.5.2 WebApplication的构建
         17.5.3 工厂方法
第18章 服务器
     18.1 自定义服务器
         18.1.1 IServer
         18.1.2 请求和响应特性
         18.1.3 StreamBodyFeature
         18.1.4 HttpListenerServer
     18.2 KestrelServer
         18.2.1 注册终结点
         18.2.2 限制约束
         18.2.3 其他设置
         18.2.4 设计与实现
     18.3 HTTP.SYS
         18.3.1 HTTP.SYS简介
         18.3.2 UseHttpSys
         18.3.3 HttpSysOptions
     18.4 IIS
         18.4.1 ASP.NET
         18.4.2 In-Process部署模式
         18.4.3 Out-of-Process部署模式
         18.4.4 <aspnetcore>配置
第19章 静态文件
     19.1 搭建文件服务器
         19.1.1 发布物理文件
         19.1.2 呈现目录结构
         19.1.3 显示默认页面
         19.1.4 映射媒体类型
     19.2 处理文件请求
         19.2.1 条件请求
         19.2.2 区间请求
         19.2.3 StaticFileMiddleware
     19.3 处理目录请求
         19.3.1 DirectoryBrowserMiddleware
         19.3.2 DefaultFilesMiddleware
第20章 路由
     20.1 路由映射
         20.1.1 注册终结点
         20.1.2 设置内联约束
         20.1.3 可缺省路由参数
         20.1.4 特殊的路由参数
         20.1.5 主机名绑定
         20.1.6 更加自由的定义方式
     20.2 路由分发
         20.2.1 路由模式
         20.2.2 路由终结点
         20.2.3 中间件
         20.2.4 处理器适配
         20.2.5 Minimal
     20.3 路由约束
         20.3.1 预定义的IRouteConstraint
         20.3.2 InlineConstraintResolver
         20.3.3 自定义约束
第21章 异常处理
     21.1 呈现错误信息
         21.1.1 开发者异常页面
         21.1.2 定制异常页面
         21.1.3 针对响应状态码定制错误页面
     21.2 开发者异常页面
         21.2.1 IDeveloperPageExceptionFilter
         21.2.2 显示编译异常信息
         21.2.3 DeveloperExceptionPageMiddleware
     21.3 异常处理器
         21.3.1 ExceptionHandlerMiddleware
         21.3.2 IExceptionHandlerPathFeature特性
         21.3.3 清除缓存
         21.3.4 404响应
     21.4 响应状态码页面
         21.4.1 StatusCodePagesMiddleware
         21.4.2 阻止处理异常
         21.4.3 注册中间件
第22章 响应缓存
     22.1 缓存响应内容
         22.1.1 基于路径的响应缓存
         22.1.2 引入其他缓存维度
         22.1.3 缓存屏蔽
     22.2 HTTP-Cache
         22.2.1 私有缓存和共享缓存
         22.2.2 响应的提取
         22.2.3 新鲜度检验
         22.2.4 显式缓存控制
     22.3 中间件
         22.3.1 缓存上下文
         22.3.2 缓存策略
         22.3.3 缓存键
         22.3.4 缓存的读写
         22.3.5 ResponseCachingMiddleware
         22.3.6 注册中间件
第23章 会话
     23.1 利用会话保留“语境”
         23.1.1 设置和提取会话状态
         23.1.2 查看存储的会话状态
         23.1.3 查看Cookie
     23.2 会话状态的读写
         23.2.1 ISession
         23.2.2 DistributedSession
         23.2.3 ISessionStore
     23.3 会话中间件
         23.3.1 SessionOptions
         23.3.2 ISessionFeature
         23.3.3 SessionMiddleware
第24章 HTTPS策略
     24.1 HTTPS终结点的切换
         24.1.1 构建HTTPS站点
         24.1.2 HTTPS重定向
         24.1.3 浏览器自动重定向
         24.1.4 HSTS选项配置
     24.2 HTTPS重定向
         24.2.1 HttpsRedirectionOptions
         24.2.2 HttpsRedirectionMiddleware中间件
         24.2.3 中间件注册
     24.3 HSTS
         24.3.1 HstsOptions
         24.3.2 HstsMiddleware
         24.3.3 中间件注册
第25章 重定向
     25.1 基于规则的重定向
         25.1.1 客户端重定向
         25.1.2 服务端重定向
         25.1.3 IIS重写规则
         25.1.4 Apache
         25.1.5 HTTPS重定向
     25.2 重定向中间件
         25.2.1 重定向规则
         25.2.2 RewriteMiddleware
     25.3 预定义规则
         25.3.1 “万能”规则
         25.3.2 客户端重定向
         25.3.3 服务端重定向
         25.3.4 WWW重定向
         25.3.5 HTTPS重定向
         25.3.6 IIS重写规则
         25.3.7 Apache重写规则
第26章 限流
     26.1 控制并发量
         26.1.1 设置并发和等待请求阈值
         26.1.2 基于队列的策略
         26.1.3 基于栈的策略
     26.2 并发限制中间件
         26.2.1 等待队列策略
         26.2.2 ConcurrencyLimiterMiddleware
         26.2.3 处理拒绝请求
     26.3 等待队列策略
         26.3.1 基于队列的处理策略
         26.3.2 基于栈的处理策略
第27章 736
     27.1 认证、登录与注销
         27.1.1 认证票据
         27.1.2 基于Cookie的认证
         27.1.3 强制认证
         27.1.4 登录与注销
     27.2 身份与用户
         28.2.1 IIdentity
         28.2.2 IPrincipal
     27.3 认证模型
         27.3.1 认证票据
         27.3.2 认证处理器
         27.3.3 认证服务
         27.3.4 服务注册
         27.3.5 AuthenticationMiddleware
     27.4 Cookie认证方案
         27.4.1 AuthenticationHandler<TOptions>
         27.4.2 CookieAuthenticationHandler
         27.4.3 注册CookieAuthenticationHandler
第28章 授权
     28.1 基于“角色”的授权
         28.1.1 基于“要求”的授权
         28.1.2 预定义授权策略
         28.1.3 基于终结点的自动化授权
     28.2 基于“要求”的授权
         28.2.1 IAuthorizationHandler
         28.2.2 预定义授权处理器
         28.2.3 授权检验
     28.3 基于“策略”的授权
         28.3.1 授权策略的构建
         28.3.2 授权策略的注册
         28.3.3 授权检验
     28.4 授权与路由
         28.4.1 IAuthorizeData
         28.4.2 IAllowAnonymous
         28.4.3 IPolicyEvaluator
         28.4.4 IAuthorizationMiddlewareResultHandler
         28.4.5 AuthorizationMiddleware
第29章 跨域资源共享
     29.1 处理跨域资源
         29.1.1 跨域调用API
         29.1.2 提供者显式授权
         29.1.3 基于策略的资源授权
         29.1.4 将CORS规则应用到路由上
     29.2 CORS规范
         29.2.1 同源策略
         29.2.2 针对资源的授权
         29.2.3 获取授权的方式
         29.2.4 用户凭证
     29.3 CORS中间件
         29.3.1 CORS策略
         29.3.2 CORS与路由
         29.3.3 CORS授权
         29.3.4 CorsMiddleware
第30章 健康检查
     30.1 检查应用的健康状况
         30.1.1 确定当前应用是否可用
         30.1.2 定制健康检查逻辑
         30.1.3 改变响应状态码
         30.1.4 细粒度的健康检查
         30.1.5 定制响应内容
         30.1.6 过滤IHealthCheck对象
     30.2 设计与实现
         30.2.1 IHealthCheck
         30.2.2 HealthCheckService
         30.2.3 HealthCheckMiddleware
     30.3 发布健康报告
         30.3.1 定期发布健康报告
         30.3.2 IHealthCheckPublisher
         30.3.3 HealthCheckPublisherHostedService

posted @ 2022-06-26 21:47  Artech  阅读(2891)  评论(0编辑  收藏  举报