深入浅出:.NET框架设计与实现

深入浅出:.NET框架设计与实现

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

主编推荐:深入了解.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框架设计与实现》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深入浅出WindowsAPI程序设计:编程基础篇 电子书
一本介绍Windows API程序设计的入门图书。
深入浅出WindowsAPI程序设计:核心编程篇 电子书
本书基于win 10和VS 2019编写,系统地介绍了Windows程序设计的核心编程思想与实践。
ASP.NET Core与RESTful API 开发实战 电子书
本书介绍了如何使用ASP.NETCore开发RESTfulAPI应用,共包含10章内容。前3章主要介绍了REST、HTTP、ASP.NETCore的基础理论,第4-10章讲述如何根据前3章的理论逐步构建规范的RESTfulAPI应用,涉及资源的基本操作、EntityFrameworkCore、高级查询、日志、缓存、并发、HATEOAS、认证与安全、测试以及部署等内容。
C++模板元编程实战:一个深度学习框架的初步实现 电子书
元编程在深度学习框架中的实践与性能优化。
一个64位操作系统的设计与实现 电子书
基于Intel Core i7处理器的64位多核操作系统,引入诸多Linux内核的设计精髓。