类似推荐
编辑推荐
主编推荐:深入了解.NET框架核心设计,掌握性能调优与部署技巧。
内容简介
本书主要介绍。NET框架的核心部分,不仅阐述了框架的核心设计,还展示了实践代码和运行效果,同时根据不同的功能模块扩展出属于自己的小组件。通过阅读本书,读者可以深入了解。NET框架的核心设计,掌握。NET性能调优和ASP.NET Core的部署方式。本书包含18章。第1~3章主要介绍。NET框架、开发环境和运行模式。第4~12章主要介绍依赖注入、配置与选项、后台任务、中间件、缓存、本地化、健康检查、文件系统和日志等常用功能模块。第13~17章主要介绍线程、线程同步、内存管理、诊断和调试,以及编译技术等内容。第18章主要介绍应用程序的部署方式,包括宿主机的部署,以及Docker和Kubernetes的部署。
章节目录
版权信息
内容简介
推荐序
前言
第1章 .NET概述和环境安装
1.1 .NET框架简介
1.1.1 .NET Core简介
1.1.2 .NET Standard简介
1.2 .NET的开发环境
1.2.1 安装Visual Studio
1.2.2 安装Visual Studio Code
1.2.3 设置Visual Studio Code环境
1.2.4 Visual Studio Code调试
1.2.5 .NET CLI
1.2.6 LINQPad
1.3 小结
第2章 .NET运行原理概述
2.1 .NET CLI概述
2.1.1 将C#编译成机器代码
2.1.2 运行时
2.1.3 程序集和清单
2.1.4 公共中间语言
2.1.5 .NET Native
2.2 小结
第3章 ASP.NET Core应用程序的多种运行模式
3.1 自宿主
3.2 IIS服务承载
3.3 将WebAPI嵌入桌面应用程序中
3.4 服务承载
3.4.1 使用Worker Service项目模板
3.4.2 Windows服务注册
3.4.3 Linux服务注册
3.4.4 将WebAPI托管为Windows服务
3.5 延伸阅读:WindowsFormsLifetime
3.6 小结
第4章 依赖注入
4.1 .NET依赖注入
4.1.1 服务的注册
4.1.2 生命周期
4.1.3 服务描述
4.1.4 作用域验证
4.2 实现批量服务注册
4.2.1 根据名称匹配并注册
4.2.2 根据标记注册
4.2.3 配置扩展方法
4.3 小结
第5章 配置与选项
5.1 配置模式
5.1.1 获取和设置配置
5.1.2 使用强类型对象承载配置
5.1.3 使用环境变量配置源
5.1.4 使用命令行配置源
5.1.5 配置管理器(ConfigurationManager)
5.2 选项模式
5.2.1 将配置绑定Options对象
5.2.2 命名选项的使用
5.2.3 Options内容验证
5.2.4 Options后期配置
5.2.5 IOptionsSnapshot
5.2.6 IOptionsMonitor
5.3 设计一个简单的配置中心
5.3.1 什么是配置中心
5.3.2 ConfigurationSource
5.3.3 ConfigurationProvider
5.3.4 配置扩展方法
5.3.5 配置动态更新(HTTP Long Polling方案)
5.4 小结
第6章 使用IHostedService和BackgroundService实现后台任务
6.1 IHostedService
6.2 BackgroundService
6.3 任务调度
6.3.1 Hangfire
6.3.2 Quartz.NET
6.4 小结
第7章 中间件
7.1 中间件的作用
7.2 中间件的调用过程
7.3 编写自定义中间件
7.4 在过滤器中应用中间件
7.5 制作简单的API统一响应格式与自动包装
7.5.1 创建一个中间件
7.5.2 配置扩展方法
7.6 延伸阅读:责任链模式
7.7 延伸阅读:中间件常见的扩展方法
7.7.1 Run方法和Use方法
7.7.2 Map方法
7.7.3 MapWhen方法
7.7.4 UseWhen方法
7.8 小结
第8章 缓存
8.1 内存缓存
8.1.1 IMemoryCache
8.1.2 ICacheEntry
8.1.3 缓存大小的限制
8.2 分布式缓存
8.2.1 IDistributedCache
8.2.2 基于Redis的分布式缓存
8.2.3 基于SQL Server的分布式缓存
8.3 HTTP缓存
8.3.1 响应缓存
8.3.2 ResponseCachingMiddleware中间件
8.4 小结
第9章 本地化
9.1 内容本地化
9.1.1 提供文本多语言支持
9.1.2 RequestLocalizationMiddleware中间件
9.1.3 使用RouteDataRequestCultureProvider
9.1.4 自定义RequestCultureProvider类
9.2 多样化的数据源
9.2.1 基于JSON格式的本地化
9.2.2 基于Redis存储的本地化
9.3 小结
第10章 健康检查
10.1 检查当前应用的健康状态
10.1.1 查看当前应用的可用性
10.1.2 自定义健康检查逻辑
10.1.3 改变响应状态码
10.1.4 定制响应内容
10.2 发布健康报告
10.3 可视化健康检查界面
10.4 小结
第11章 文件系统
11.1 ASP.NET Core静态文件
11.1.1 静态文件
11.1.2 新增静态文件目录
11.1.3 自定义HTTP响应头
11.1.4 静态文件的授权管理
11.1.5 开启目录浏览服务
11.1.6 自定义文件扩展名
11.2 自定义一个简单的文件系统
11.2.1 文件和目录
11.2.2 RedisFileProvider
11.2.3 使用自定义文件系统
11.3 小结
第12章 日志
12.1 控制台日志
12.1.1 控制台日志的输出
12.1.2 日志级别和事件ID
12.1.3 日志过滤
12.1.4 日志范围
12.1.5 JSON配置
12.1.6 控制台日志格式化
12.1.7 实现自定义格式化程序
12.1.8 日志的设计与实现
12.1.9 控制台日志的设计与实现
12.1.10 格式化的设计与实现
12.1.11 Source Generator
12.2 调试日志
12.2.1 调试日志的输出
12.2.2 调试日志的设计与实现
12.3 事件日志
12.3.1 事件日志的输出
12.3.2 事件日志的设计与实现
12.4 EventSource日志
12.4.1 EventSource日志的输出
12.4.2 EventSource日志的设计与实现
12.5 TraceSource日志
12.5.1 TraceSource日志的输出
12.5.2 TraceSource日志的设计与实现
12.6 DiagnosticSource日志
12.6.1 DiagnosticSource日志的输出
12.6.2 DiagnosticSource日志的设计与实现
12.7 小结
第13章 多线程与任务并行
13.1 线程简介
13.1.1 线程的概念
13.1.2 线程的使用方式
13.1.3 线程管理
13.1.4 线程池
13.2 基于任务的异步编程
13.2.1 异步任务
13.2.2 Task生命周期
13.2.3 取消任务
13.2.4 使用关键字await和async获取异步任务的结果
13.2.5 处理异步操作中的异常
13.2.6 上下文延续
13.2.7 TaskScheduler
13.3 线程并行
13.4 小结
第14章 线程同步机制和锁
14.1 原子操作
14.1.1 无锁编程
14.1.2 无锁算法
14.2 自旋锁
14.2.1 SpinWait实现自旋锁
14.2.2 SpinLock实现自旋锁
14.3 混合锁
14.4 互斥锁
14.5 信号量
14.5.1 Semaphore
14.5.2 SemaphoreSlim
14.6 读写锁
14.7 小结
第15章 内存管理
15.1 内存分配
15.1.1 栈空间和堆空间
15.1.2 值类型和引用类型
15.1.3 创建一个新对象
15.1.4 小对象堆分配
15.1.5 大对象堆分配
15.1.6 固定对象堆分配
15.2 垃圾回收器
15.2.1 分代
15.2.2 标记阶段
15.2.3 计划阶段
15.2.4 重定位阶段
15.2.5 清扫阶段
15.2.6 压缩阶段
15.3 资源释放
15.3.1 Dispose
15.3.2 DisposeAsync
15.4 垃圾回收器的设置
15.4.1 工作站模式与服务器模式的垃圾回收
15.4.2 普通垃圾回收和后台垃圾回收
15.4.3 设置延迟模式
15.4.4 垃圾回收器参数调优
15.5 小结
第16章 诊断和调试
16.1 性能诊断工具
16.1.1 Visual Studio
16.1.2 PerfView
16.1.3 ILSpy
16.1.4 dnSpy
16.1.5 WinDbg
16.1.6 BenchmarkDotNet
16.1.7 LLDB
16.1.8 dotnet-dump
16.1.9 dotnet-gcdump
16.1.10 dotnet-trace
16.1.11 dotnet-counters
16.1.12 dotnet-symbol
16.2 Linux调试
16.2.1 在WSL2中调试
16.2.2 使用Visual Studio(Code)远程调试Linux部署的应用
16.2.3 使用容器工具调试
16.3 小结
第17章 编译技术精讲
17.1 IL解析
17.1.1 IL简介
17.1.2 从.NET代码到IL代码
17.1.3 IL语法的格式
17.2 JIT简介
17.2.1 JIT编译器
17.2.2 在Visual Studio中查看汇编代码
17.3 JIT编译
17.3.1 分层编译
17.3.2 使用PGO优化程序编译(动态PGO)
17.3.3 使用PGO优化程序编译(静态PGO)
17.4 AOT编译
17.4.1 用Crossgen2进行AOT预编译
17.4.2 Source Generators
17.5 小结
第18章 部署
18.1 发布与部署
18.1.1 部署至Ubuntu操作系统中
18.1.2 部署至CentOS操作系统中
18.1.3 部署至Windows Server IIS中
18.2 Docker
18.2.1 容器技术解决了什么
18.2.2 安装Docker
18.2.3 使用加速器
18.2.4 下载基础镜像
18.3 编写Dockerfile文件
18.4 构建.NET应用镜像
18.5 Docker Compose
18.5.1 安装docker-compose命令行工具
18.5.2 命令行
18.5.3 部署.NET实例
18.6 Docker Swarm
18.6.1 集群初始化
18.6.2 构建.NET实例
18.7 Kubernetes
18.7.1 安装Kubernetes
18.7.2 安装Kubernetes Dashboard
18.7.3 部署.NET应用
18.7.4 公布应用程序
18.8 小结
深入浅出:.NET框架设计与实现是2023年由电子工业出版社出版,作者冯辉。
得书感谢您对《深入浅出:.NET框架设计与实现》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。