书籍详情
《ASP.NETCore与RESTfulAPI开发实战+ASP.NETCore微服务实战+.NETC》[41M]百度网盘|亲测有效|pdf下载
  • ASP.NETCore与RESTfulAPI开发实战+ASP.NETCore微服务实战+.NETC

  • 热度:9380
  • 上架时间:2024-06-30 08:52:20
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍




9787115519511 9787302540199 9787512431959

定价:79

ASP.NET Core与RESTful API 开发实战

作者:杨万青

出版社:人民邮电出版社

出版时间:2020年02月

ISBN:9787115519511






ASP.NET Core是微软推出的新一代跨平台、高性能Web开发框架,具有模块化、内置依赖项注入、开源、易于部署等特点。作为近些年来主流的软件架构风格,REST旨在构建简单、可靠、高性能、高伸缩性的Web应用。
本书系统地介绍了如何使用ASP.NET Core开发RESTful API应用,共包含10章内容。前3章主要介绍了REST、HTTP、ASP.NET Core的基础理论。4~10章讲述如何根据前3章的理论逐步构建规范的RESTful API应用,涉及资源的基本作、Entity Framework Core、高级查询、日志、缓存、并发、HATEOAS、认证与安全、测试以及部署等内容。





杨万青,.NET架构师,具有多年软件开发经验,专注于.NET/.NET Core平台的应用开发及技术架构研究,对新技术有浓厚的兴趣。




1章 REST简介   1
1.1 API与REST   1
1.1.1 什么是API   1
1.1.2 什么是REST   2
1.1.3 REST约束   2
1.1.4 对REST的错误理解   4
1.2 HTTP协议   5
1.2.1 HTTP简介   5
1.2.2 统一资源定位符   5
1.2.3 媒体类型   7
1.2.4 HTTP消息   8
1.2.5 HTTP方法   9
1.2.6 HTTP消息头   10
1.2.7 状态码   12
1.3 REST佳实践   13
1.4 其他问题   14
1.4.1 JSON和XML   14
1.4.2 API版本   16
1.5 本章小结   16
2章 .NET Core和ASP.NET Core   17
2.1 .NET Core简介   17
2.2 .NET Standard简介   18
2.3 ASP.NET Core简介   22
2.3.1 ASP.NET Core主要特性   22
2.3.2 ASP.NET Core 2.1新增特性   23
2.3.3 ASP.NET Core 2.2新增特性   24
2.3.4 ASP.NET Core 3.0的变化   25
2.3.5 将ASP.NET Core 2.1应用升级
到ASP.NET Core 2.2   26
2.4 设置开发环境   26
2.4.1 安装Visual Studio   26
2.4.2 安装Visual Studio Code   28
2.4.3 .NET Core CLI   29
2.5 创建 一个 API 项目   30
2.5.1 使用Visual Studio 2017   30
2.5.2 使用Visual Studio Code   36
2.6 本章小结   39
3章 ASP.NET Core核心特性   40
3.1 启动与宿主   40
3.1.1 应用程序的启动   40
3.1.2 Kestrel   43
3.1.3 Startup类   45
3.2 中间件   46
3.2.1 中间件简介   46
3.2.2 添加中间件   47
3.2.3 自定义中间件   51
3.3 依赖注入   52
3.3.1 依赖注入简介   52
3.3.2 ASP.NET Core中的依赖注入   55
3.4 MVC   57
3.4.1 理解MVC模式   57
3.4.2 路由   58
3.4.3 Controller与Action   64
3.4.4 模型绑定   67
3.4.5 模型验证   70
3.4.6 过滤器   72
3.5 配置   78
3.5.1 访问JSON配置文件   78
3.5.2 访问其他配置源   79
3.5.3 自定义配置源   82
3.5.4 重新加载配置   85
3.5.5 强类型对象   85
3.6 日志   87
3.6.1 ILogger接口   87
3.6.2 ILoggerFactory接口   89
3.6.3 ILoggerProvider接口   90
3.6.4 分组和过滤   91
3.7 错误处理   94
3.7.1 异常处理   94
3.7.2 错误码处理   96
3.8 本章小结   96
4章 资源作   98
4.1 项目创建   98
4.1.1 项目简介   98
4.1.2 创建项目   99
4.2 使用内存数据   100
4.2.1 创建内存数据源   100
4.2.2 仓储模式   101
4.2.3 实现仓储模式   102
4.3 创建Controller   104
4.4 获取资源   106
4.4.1 获取集合   106
4.4.2 获取单个资源   106
4.4.3 获取父/子形式的资源   108
4.5 创建资源   110
4.5.1 创建资源简介   110
4.5.2 创建子级资源   113
4.6 删除资源   115
4.6.1 删除单个资源   115
4.6.2 删除父与子   116
4.7 更新资源   117
4.7.1 更新资源简介   117
4.7.2 部分更新   120
4.8 内容协商   123
4.8.1 内容协商简介   123
4.8.2 实现内容协商   125
4.9 本章小结   128
5章 使用Entity Framework Core   129
5.1 Entity Framework Core   129
5.1.1 Entity Framework Core简介   129
5.1.2 在项目中添加EF Core   130
5.2 使用EF Core   131
5.2.1 EF Core的使用   131
5.2.2 创建实体类   132
5.2.3 创建DbContet类   134
5.2.4 添加迁移与创建数据库   135
5.2.5 添加测试数据   137
5.3 重构仓储类   139
5.3.1 创建通用仓储接口   139
5.3.2 创建其他仓储接口   141
5.4 重构Controller和Action   143
5.4.1 使用AutoMapper   143
5.4.2 重构AuthorController   145
5.4.3 重构BookController   147
5.5 本章小结   151
6章 高级查询和日志   152
6.1 分页   152
6.1.1 实现分页   152
6.1.2 添加分页元数据   154
6.2 过滤和搜索   158
6.2.1 过滤   158
6.2.2 搜索   160
6.3 排序   161
6.3.1 实现排序   162
6.3.2 属性映   165
6.4 日志和异常   168
6.4.1 记录日志   168
6.4.2 异常处理   170
6.5 本章小结   172
7章 高级主题   173
7.1 缓存   173
7.1.1 HTTP缓存   173
7.1.2 响应缓存中间件   177
7.1.3 内存缓存   179
7.1.4 分布式缓存   180
7.2 并发   186
7.2.1 为什么需要并发控制   186
7.2.2 不同的并发处理策略   187
7.2.3 实现并发控制   188
7.3 版本   190
7.3.1 API版本   190
7.3.2 实现API版本   191
7.4 HATEOAS   198
7.4.1 HATEOAS简介   198
7.4.2 实现HATEOAS   201
7.5 GraphQL   207
7.5.1 GraphQL简介   207
7.5.2 与REST相比   208
7.5.3 添加GraphQL服务   209
7.6 本章小结   215
8章 认证和安全   217
8.1 认证   217
8.1.1 HTTP认证   217
8.1.2 实现基于Token的认证   221
8.2 ASP.NET Core Identity   227
8.2.1 Identity介绍   227
8.2.2 使用Identity   230
8.2.3 授权   235
8.3 HTTPS   239
8.3.1 HTTPS简介   239
8.3.2 HTTPS重定向中间件   241
8.3.3 HSTS中间件   242
8.4 数据保护   244
8.4.1 数据保护API   244
8.4.2 使用数据保护API   245
8.4.3 配置数据保护   249
8.4.4 用户机密   251
8.5 CORS   254
8.5.1 CORS简介   254
8.5.2 实现CORS   256
8.6 限流   259
8.7 本章小结   262
9章 测试和文档   263
9.1 测试   263
9.1.1 测试简介   263
9.1.2 单元测试   264
9.1.3 集成测试   267
9.2 文档   274
9.2.1 Swagger简介   274
9.2.2 XML注释   276
9.3 本章小结   279
10章 部署   280
10.1 部署到IIS   280
10.1.1 发布应用   280
10.1.2 IIS配置   282
10.1.3 HTTPS配置   284
10.2 部署到Docker   286
10.2.1 Docker简介   286
10.2.2 Docker命令   288
10.2.3 Docker实践   290
10.2.4 Docker Compose简介   293
10.2.5 Docker Compose实践   294
10.3 部署到Azure   298
10.3.1 Azure简介   298
10.3.2 创建资源   298
10.3.3 部署到Azure实践   300
10.3.4 持续部署   302
10.4 本章小结   305



定价:59元
印次:1-1
ISBN:9787302540199
出版日期:2019.12.01
印刷日期:2019.12.11




■ 领会测试驱动、API 优先的开发理念 ■ 通过创建和消费后端服务(如数据库和队列)与其他服务交互 ■ 构建依赖于外部数据源的微服务 ■ 学习事件溯源(以事件为中心的持久化方法) ■ 使用 ASP.NET Core 开发适合部署在云环境的 Web 应用 ■ 开发一个消费其他服务或被其他服务消费的微服务 ■ 创建可接受外部配置的服务和应用 ■ 探索用于保护ASP.NET Core 微服务和应用的方法




Kevin Hoffman 向客户传授使用新的云原生模式、实践和技术对企业级应用进行迁移和现代化改造以使它们适应云环境的方法。Kevin在计算机编程方面撰写了十几部著作,时常参加各种用户组和峰会。




目 录

1章 ASP.NET Core基础 1

1.1 核心概念 1

1.1.1 CoreCLR 1

1.1.2 CoreFX 2

1.1.3 .NET Platform Standard 3

1.1.4 ASP.NET Core 3

1.2 安装 .NET Core 4

1.3 开发控制台应用 5

1.4 开发一个 ASP.NET Core 应用 8

1.4.1 向项目添加 ASP.NET 包 8

1.4.2 添加 Kestrel 服务器 9

1.4.3 添加启动类和中间件 10

1.4.4 运行应用 12

1.5 本章小结 12

2章 持续交付 15

2.1 Docker 简介 15

2.1.1 安装 Docker 16

2.1.2 运行 Docker 镜像 16

2.2 使用 Wercker 持续集成 18

2.3 用 Wercker 构建服务 18

2.3.1 安装 Wercker 命令行工具 19

2.3.2 添加wercker.yml配置文件 20

2.3.3 运行 Wercker 构建 22

2.4 使用 CircleCI 持续集成 22

2.5 部署到 docker hub 24

2.6 本章小结 25

3章 使用ASP.NET Core开发微服务 27

3.1 微服务的定义 27

3.2 团队服务简介 28

3.3 API优先的开发方式 29

3.3.1 为什么要用 API 优先 29

3.3.2 团队服务的 API 30

3.4 以测试优先的方式开发控制器 31

3.4.1 注入一...



.NET Core 底层入门

内容简介
本书讲解了 .NET Core公共语言运行时的底层实现,从介绍MSIL和86汇编语言开始,到讲解异常、多线程、GC以及JIT编译器的实现原理与实现细节。本书包含了大量图表让读者可以更容易了解其中的内容,同时涉及到 .NET Core底层实现的部分还给出了对应的源代码链接,让读者可以参考源代码有更深入的理解。此外,本书还有相关提问用的仓库和QQ 便于读者交流,详见序言。

本书主要面向有一年以上 .NET (C#)开发经验的开发者,其他程序语言的开发者也可以阅读本书来比较 .NET Core与其他语言的运行时之间有哪些共同点和不同点,本书的知识可以为读者在编写高性能应用或底层应用时提供有力的支持。



目录
1章公共语言运行时概述1

1.1.1.NET框架简介1

1.1.2公共语言运行时中的各个组成部分3

1.1.3名称规范5

2章MSIL入门7

1节逆向 .NET程序到IL7

2.1.1ildasm7

2.1.2使用ILSpy10

2.1.3dnSpy10

2节基础语法11

2.2.1IL语法格式11

2.2.2IL指令格式17

2.2.3评价堆栈18

2.2.4常用指令19

2.2.5常见的C#代码与IL代码的对比21

3节流程控制26

2.3.1IL流程控制26

2.3.2常见的流程控制C#代码与IL代码对比28

3章86汇编入门37

1节汇编与机器码37

3.1.1理解汇编语言与机器码37

3.1.2RISC与CISC42

3.1.3流水线42

2节内存44

3.2.1位与字节44

3.2.2负数的表现46

3.2.3小端与大端47

3.2.4内存地址47

3.2.5虚拟内存48

3.2.6了解虚拟内存的实现50

3节寄存器50

3.3.1通用寄存器50

3.3.2程序计数器52

3.3.3标志寄存器52

4节基础指令55

3.4.1汇编指令记法55

3.4.2汇编指令格式56

3.4.3汇编指令简写57

3.4.4基础汇编指令58

3.4.5更多指令68

3.4.6机器码的编码方式68

5节流程控制69

3.5.1流程控制实现69

3.5.2比较指令70

3.5.3跳转指令73

3.5.4其他流程控制77

3.5.5分支预测79

6节函数调用82

3.6.1栈结构82

3.6.2函数调用85

3.6.3enter与leave指令89

3.6.4调用规范89

7节系统调用91

3.7.1系统调用简介91

3.7.2在86上发起系统调用(软中断)92

3.7.3在86上发起系统调用(sysenter)93

3.7.4在8664上发起系统调用(syscall)94

8节内存屏障95

3.8.1乱序执行95

3.8.2内存屏障简介96

3.8.3双检锁97

4章编译与调试CoreCLR100

1节在Windows上编译CoreCLR100

4.1.1准备编译环境100

4.1.2下载CoreCLR源代码101

4.1.3编译CoreCLR102

4.1.4使用编译出来的CoreCLR103

4.1.5新的编译文档103

2节在Windows上调试CoreCLR104

4.2.1使用Visual Studio调试CoreCLR104

4.2.2使用WinDbg调试CoreCLR105

4.2.3在WinDbg中使用SOS扩展109

4.2.4更方便地调试托管方法对应的汇编代码113

3节在Linu上编译CoreCLR113

4节在Linu上调试CoreCLR116

4.4.1使用LLDB调试CoreCLR116

4.4.2在LLDB中使用SOS扩展119

5章异常处理实现126

1节异常处理简介126

5.1.1通过返回值报告错误与通过异常报告错误的区别126

5.1.2.NET中的异常处理129

2节用户异常的触发132

5.2.1用户异常132

5.2.2通过throw关键词抛出异常133

5.2.3调用 .NET运行时内部函数抛出异常135

5.2.4JIT编译时自动插入抛出异常的代码135

5.2.5CoreCLR中的相关代码137

3节硬件异常的触发137

5.3.1硬件异常137

5.3.2访问null对象的字段时抛出异常138

5.3.3调用null对象的方法时抛出异常142

5.3.4对整数进行零除时的处理144

5.3.5CoreCLR中的相关代码146

4节异常处理实现146

5.4.1异常处理的过程146

5.4.2捕捉异常并获取抛出异常的位置147

5.4.3通过调用链跟踪获取抛出异常的函数与所有调用来源148

5.4.4获取函数元数据中的异常处理表150

5.4.5枚举异常处理表调用对应的finally块与catch块151

5.4.6重新抛出异常的处理151

5.4.7CoreCLR中的相关代码153

5节异常处理对性能的影响154

6章多线程实现158

1节原生线程158

6.1.1原生线程简介158

6.1.2上下文切换159

6.1.3线程调度161

6.1.4栈空间161

2节托管线程162

6.2.1托管线程简介162

6.2.2托管线程对象163

6.2.3创建托管线程的例子163

6.2.4前台线程与后台线程164

6.2.5CoreCLR中的相关代码166

3节抢占模式与合作模式166

6.3.1切换模式的实现167

6.3.2CoreCLR中的相关代码169

4节线程本地储存169

6.4.1ThreadStatic Attribute属性的实现171

6.4.2ThreadLocal类的实现172

6.4.3CoreCLR中的相关代码175

5节原子作175

6.5.1原子作简介175

6.5.2.NET中的原子作179

6.5.3无锁算法182

6.5.4CoreCLR中的相关代码183

6节自旋锁184

6.6.1线程锁184

6.6.2使用Thread.SpinWait实现自旋锁185

6.6.3使用System.Threading.SpinWait代替187

6.6.4使用System.Threading.SpinLock实现自旋锁188

6.6.5Thread.Sleep(0)与Thread.Yield的区别189

6.6.6使用pause指令的另一个原因190

6.6.7CoreCLR中的相关代码190

7节互斥锁191

8节混合锁与lock语句197

6.8.1线程中止安全200

6.8.2CoreCLR中的相关代码201

9节信号量204

6.9.1轻量信号量206

6.9.2通过信号量实现生产者—消费者模式206

6.9.3通过Monitor类实现生产者—消费者模式208

6.9.4CoreCLR中的相关代码210

10节读写锁213

11节异步作216

6.11.1阻塞作216

6.11.2事件循环机制217

6.11.3异步编程模型219

6.11.4异步编程模型的实现原理221

6.11.5任务并行库224

6.11.6任务并行库的实现原理226

6.11.7ValueTask229

6.11.8async与await关键字的例子230

6.11.9async与await关键字的实现原理231

6.11.10堆积的协程与无堆的协程239

6.11.11CoreCLR中的相关代码239

12节执行上下文242

6.12.1异步本地变量与执行上下文242

6.12.2CoreCLR中的相关代码247

13节同步上下文248

6.13.1同步上下文的使用例子(基于WinForm)249

6.13.2自定义同步上下文实现252

6.13.3CoreCLR中的相关代码258

7章GC垃圾回收实现260

1节GC简介260

7.1.1栈空间与堆空间260

7.1.2值类型与引用类型261

7.1.3.NET中的GC263

7.1.4垃圾回收VS引用计数271

2节对象内存结构271

7.2.1值类型对象的内存结构271

7.2.2引用类型对象的内存结构273

7.2.3存活标记与固定标记276

7.2.4装箱与拆箱277

7.2.5CoreCLR中的相关代码278

3节托管堆结构280

7.3.1.NET程序的内存结构280

7.3.2托管堆与堆段282

7.3.3分配上下文284

7.3.4分代的实现286

7.3.5自由对象列表287

7.3.6跨代引用记录289

7.3.7析构对象列表与析构队列291

7.3.8CoreCLR中的相关代码291

4节分配对象流程293

7.4.1new关键字生成的代码293

7.4.2从托管堆分配空间的内部函数297

7.4.3分配小对象的流程299

7.4.4分配大对象的流程299

7.4.5记录包含析构函数的对象到析构对象列表302

7.4.6CoreCLR中的相关代码302

5节垃圾回收流程303

7.5.1GC的触发303

7.5.2执行GC的线程306

7.5.3GC的总体流程307

7.5.4重新决定目标代309

7.5.5判断是否应该执行后台GC311

7.5.6CoreCLR中的相关代码312

6节标记阶段314

7.6.1获取根对象314

7.6.2递归扫描根对象并设置存活标记315

7.6.3通过卡片表扫描跨代引用并设置存活标记318

7.6.4枚举强引用GC句柄并设置存活标记318

7.6.5枚举固定GC句柄并设置固定标记319

7.6.6枚举弱引用GC句柄并清空不再存活对象引用319

7.6.7扫描析构对象列表并添加不再存活对象到析构队列319

7.6.8枚举跟踪复活弱引用GC句柄并清空不再存活对象引用320

7.6.9决定是否启用升代320

7.6.10CoreCLR中的相关代码321

7节计划阶段323

7.7.1构建Plug树323

7.7.2构建Brick表324

7.7.3模拟压缩325

7.7.4判断是否执行压缩与新建短暂堆段327

7.7.5CoreCLR中的相关代码328

8节重定位阶段328

7.8.1修改对象引用地址328

7.8.2CoreCLR中的相关代码330

9节压缩阶段330

7.9.1复制对象值330

7.9.2结束GC332

7.9.3CoreCLR中的相关代码333

10节清扫阶段333

7.10.1创建自由对象并加到自由列表333

7.10.2结束GC334

7.10.3CoreCLR中的相关代码334

11节后台GC335

7.11.1后台标记阶段335

7.11.2后台清扫阶段336

7.11.3CoreCLR中的相关代码337

12节调整GC行为338

7.12.1设置GC模式338

7.12.2设置延迟模式339

7.12.3设置延迟等级340

7.12.4开启无GC区域341

7.12.5开启大对象堆压缩342

7.12.6保留堆段空间地址342

7.12.7更多选项(针对 .NET Core)343

13节获取GC信息344

7.13.1获取GC执行次数344

7.13.2注册完整GC触发前的通知345

7.13.3在Windows系统上使用ETW捕捉GC事件347

7.13.4在Linu系统上使用Lttng捕捉GC事件350

7.13.5使用EventListener捕捉GC事件351

8章JIT编译器实现354

1节JIT简介354

8.1.1JIT编译器354

8.1.2.NET中的RyuJIT编译器356

8.1.3在Visual Studio中查看生成的汇编代码356

8.1.4使用JITDump日志查看JIT编译流程与生成的汇编代码357

2节JIT编译流程358

8.2.1JIT的触发358

8.2.2分层编译360

8.2.3JIT编译流程362

8.2.4CoreCLR中的相关代码363

3节IR结构366

8.3.1HIR与LIR366

8.3.2HIR的结构367

8.3.3HIR的例子367

8.3.4LIR的结构372

8.3.5LIR的例子372

8.3.6常见的HIR结构376

8.3.7CoreCLR中的相关代码382

4节IL解析383

8.4.1创建本地变量表383

8.4.2创建基础块列表383

8.4.3创建异常处理表384

8.4.4构造语法树385

8.4.5CoreCLR中的相关代码386

5节函数内联387

8.5.1内联的条件388

8.5.2内联的处理389

8.5.3CoreCLR中的相关代码390

6节IR变形390

8.6.1添加内部代码390

8.6.2提升构造体391

8.6.3标记暴地址的本地变量393

8.6.4对基础块中的各个节点进行变形作393

8.6.5消除三元条件运算节点396

8.6.6CoreCLR中的相关代码398

7节流程分析399

8.7.1计算前任基础块与后任基础块399

8.7.2计算边缘权重(Edge Weight)400

8.7.3调整基础块顺序400

8.7.4计算可到达的基础块400

8.7.5计算支配与支配边界401

8.7.6插入GC检测点402

8.7.7添加小函数402

8.7.8CoreCLR中的相关代码403

8节本地变量排序404

8.8.1根据引用计数排序本地变量404

8.8.2CoreCLR中的相关代码404

9节评价顺序定义405

8.9.1决定语法树节点的评价顺序405

8.9.2CoreCLR中的相关代码405

10节变量版本标记406

8.10.1SSA406

8.10.2构建SSA407

8.10.3构建VN410

8.10.4CSSA与TSSA411

8.10.5CoreCLR中的相关代码411

11节循环优化413

8.11.1循环的结构413

8.11.2循环反转415

8.11.3循环克隆416

8.11.4循环展开417

8.11.5循环不变代码外提418

8.11.6CoreCLR中的相关代码419

12节赋值传播420

8.12.1替换拥有相同值的变量420

8.12.2CoreCLR中的相关代码421

13节公共子表达式消除421

8.13.1合并拥有相同值的表达式421

8.13.2CoreCLR中的相关代码422

14节断言传播424

8.14.1生成并传播断言424

8.14.2CoreCLR中的相关代码425

15节边界检查消除426

8.15.1根据断言消除边界检查426

8.15.2CoreCLR中的相关代码427

16节合理化427

8.16.1转换HIR结构到LIR结构427

8.16.2转换LCL_VAR节点428

8.16.3转换ADDR与IND节点428

8.16.4删除COMMA节点430

8.16.5CoreCLR中的相关代码430

17节低级化431

8.17.1分割针对long类型的作431

8.17.2转换算术运算到地址模式431

8.17.3转换除法运算和求余运算431

8.17.4转换SWITCH节点433

8.17.5针对函数调用添加PUTARG_REG与PUTARG_STK节点435

8.17.6转换CALL节点436

8.17.7标记节点是否为被包含节点440

8.17.8标记节点被使用时是否需要先加载到CPU寄存器440

8.17.9CoreCLR中的相关代码441

18节线性扫描寄存器分配442

8.18.1寄存器分配442

8.18.2线性扫描寄存器分配简介442

8.18.3CoreCLR中的相关代码450

19节汇编指令生成451

8.19.1计算帧布局451

8.19.2生成汇编指令453

8.19.3包含异常处理小函数的汇编代码456

8.19.4CoreCLR中的相关代码459

20节机器代码生成460

8.20.1生成机器码与元数据460

8.20.2CoreCLR中的相关代码463

21节函数头信息464

8.21.1除错信息的结构465

8.21.2异常处理表的结构466

8.21.3GC信息的结构466

8.21.4函数对象的结构467

8.21.5栈回滚信息的结构467

22节AOT编译468

8.22.1使用.NET Framework的NGen工具执行AOT编译469

8.22.2使用.NET Core的CrossGen工具执行AOT编译469

附录A中英文专业名词对照表472

附录B常用IL指令一览480

附录C常用汇编指令一览485

附录DSOS扩展命令一览489

附录EIR语法树节点类型一览517

参考文献523


暂时没有目录,请见谅!