欢迎光临
免费的PDF电子书下载网站

ASP.NET Core真机拆解 PDF下载

编辑推荐

基于ASP.NET Core 3,从使用的角度展开讲解。

如“真机拆解”般分析ASP.NET Core内部运行机制。

融合作者多年技术经验和独到见解,通俗易懂不枯燥。

辅以丰富的实际案例和代码,加深理解,活学活用。

内容简介

对于读者来说,学习ASP.NET Core就像学习使用一部新手机。手机内部组成结构可能有改变,各个元器件的性能可能有提升,元器件之间的兼容性可能更好。但在操作方式上,用户除了要学习如何使用个别的新功能以及适应系统更快的反应速度外,并没有太多改变。

基于以上,本书内容主要分为三部分。*部分是ASP.NET Core的使用说明,简要介绍如何使用ASP.NET Core创建项目及其与ASP.NET 4.x的不同点;第二部分是真机拆解,讲解ASP.NET Core框架的内部运行逻辑;第三部分是通过一个项目案例回顾全书知识点,并介绍如何在ASP.NET Core中对用户进行认证和授权。

作者简介

罗志超,具有十余年的软件研发经验,先后在多家公司担任研发及项目经理。擅长.NET技术,对前端技术及iOS有一定的了解。2013年通过项目管理专业人员资质认证(PMP),现阶段所研究的项目主要采用.NET Core的相关技术栈。个人喜欢学习新技术,热衷于技术分享,希望能为.NET社区的发展尽一份绵薄之力。

ASP.NET Core真机拆解 PDF下载

目录

第1章 ASP.NET Core介绍 1

1.1 为什么要使用ASP.NET Core 1

1.2 如何跨平台 1

第2章 开发环境准备 4

2.1 概述 4

2.2 Windows环境下Visual Studio的安装 4

2.3 macOS环境下Visual Studio的安装 5

第3章 项目结构 6

3.1 新建项目 6

3.2 项目结构详解 7

3.2.1 launchSettings.json 7

3.2.2 wwwroot 9

3.2.3 框架 9

3.2.4 _Layout.cshtml 11

3.2.5 _ValidationScriptsPartial.cshtml 11

3.2.6 _ViewImports.cshtml 12

3.2.7 _ViewStart.cshtml 13

3.2.8 appsettings.json和appsettings.Development.json 14

3.2.9 Program.cs 14

3.2.10 Startup.cs 15

第4章 _Layout与_ViewStart 17

4.1 _Layout的应用 17

4.2 _ViewStart的应用 20

4.3 页面的加载顺序 20

第5章 TagHelper 22

5.1 概述 22

5.2 自定义TagHelper 24

5.3 TagHelper的注册 25

5.4 TagHelper的作用范围 25

5.5 自定义标签 27

5.6 TagHelper与页面之间的数据传递 28

5.7 取消标签输出 29

5.8 TagBuilder 29

第6章 应用的跨平台部署 31

6.1 概述 31

6.2 在CentOS中安装ASP.NET Core环境 31

6.3 在Windows上用Visual Studio发布项目 32

6.4 项目运行测试 32

6.5 创建service管理应用 33

6.6 安装Nginx 34

6.7 SSL免费证书申请 34

6.8 多网站及证书配置 36

6.9 启用ForwardedHeaders中间件 38

6.10 独立部署(SCD) 39

第7章 架构概览 40

7.1 ASP.NET Core的运行机制 40

7.2 ASP.NET Core Application的架构 41

7.3 对HTTP/2的支持 41

7.3.1 Kestrel 41

7.3.2 IIS(进程内) 41

7.4 ASP.NET Core的环境变量 42

第8章 应用启动 43

8.1 概述 43

8.2 HostBuilder的创建与配置 45

8.2.1 Host的创建者HostBuilder 45

8.2.2 GenericWebHostBuilder 50

8.2.3 处理Startup文件 53

8.3 Host的构建 57

8.4 Host的启动 63

第9章 后台服务 66

9.1 应用场景 66

9.2 实现方式 66

9.2.1 实现IHostedService接口 67

9.2.2 在依赖注入中注册这个服务 68

9.3 采用BackgroundService派生类的方式 68

9.4 注意事项 70

第10章 依赖注入 71

10.1 为什么要用依赖注入 71

10.2 容器的构建和规则 73

10.3 ASP.NET Core的依赖注入 74

10.3.1 IServiceCollection 75

10.3.2 ServiceDescriptor 76

10.3.3 IServiceProvider 76

10.3.4 IServiceScope 77

10.4 实例获取方法及需要注意的问题 77

10.5 服务的Dispose 80

10.6 更换容器 81

第11章 日志 82

11.1 内置日志的使用 82

11.2 使用NLog将日志输出到文件 83

11.3 注意事项 84

11.4 NLog配置简要说明 85

第12章 应用的配置 86

12.1 常见的配置方式 86

12.1.1 文件方式 86

12.1.2 目录和文件 89

12.1.3 命令行 89

12.1.4 环境变量 90

12.1.5 内存对象 91

12.2 内部处理机制解析 92

12.2.1 数据源的注册 92

12.2.2 数据源的加载 99

12.2.3 配置的读取 101

12.2.4 配置的更新 106

12.2.5 配置的绑定 106

第13章 配置的Options模式 108

13.1 Options的使用 108

13.1.1 简单的不为Option命名的方式 108

13.1.2 为Option命名的方式 109

13.1.3 Option的自动更新与生命周期 110

13.1.4 数据更新提醒 111

13.1.5 其他配置方式 112

13.2 内部处理机制解析 113

13.2.1 系统启动阶段的依赖注入 113

13.2.2 Options值的获取 116

第14章 请求处理管道 121

14.1 概述 121

14.2 请求在管道中的处理流程 122

14.2.1 简单的中间件例子 122

14.2.2 请求是如何经过各个中间件的 122

14.3 管道的构建 124

14.4 中间件的其他定义方式 127

14.5 Use、Run和Map 128

14.5.1 Use和Run 128

14.5.2 Map 129

14.5.3 MapWhen 130

14.5.4 UseWhen 130

14.6 IStartupFilter 131

第15章 静态文件访问与授权 133

15.1 静态文件夹 133

15.2 中间件的实现机制 134

15.3 新增静态文件目录 135

15.4 静态文件的授权管理 135

第16章 路由 137

16.1 概述 137

16.2 传统路由配置 138

16.3 属性路由设置 139

16.4 路由的匹配顺序 142

16.5 路由的约束 144

16.5.1 Constraints参数方式 144

16.5.2 行内简写方式 145

16.5.3 使用正则表达式 145

16.5.4 自定义约束 146

16.6 路由的dataTokens 147

16.7 路由的初始化源码解析 148

16.7.1 UseRouting方法 148

16.7.2 UseEndpoints方法 149

16.8 路由的请求处理源码分析 152

16.8.1 EndpointRoutingMiddleware 152

16.8.2 Endpoint的生成与匹配示例 159

16.8.3 EndpointMiddleware 161

16.9 Endpoint模式的路由方案的优点 161

第17章 Action的执行 163

17.1 概述 163

17.2 invoker的生成 163

17.3 invoker的执行 171

第18章 Action参数的模型绑定 177

18.1 概述 177

18.2 准备阶段 178

18.2.1 创建绑定方法 178

18.2.2 为每个参数匹配Binder 179

18.3 执行阶段 183

18.4 相关知识 186

18.4.1 propertyBindingInfo 187

18.4.2 JsonPatch 187

第19章 Filter详解 188

19.1 概述 188

19.2 Filter的简单例子 189

19.3 Filter的用法详解 190

19.3.1 单例验证 191

19.3.2 通过Attribute方式定义与注册 191

19.3.3 支持继承方式注册 192

19.3.4 多功能Filter 193

19.3.5 Filter的同步与异步 194

19.3.6 继承内置FilterAttribute 195

19.4 Filter的获取 197

19.5 Filter的执行 200

19.6 Filter的执行顺序 212

第20章 控制返回类型 215

20.1 常见的返回类型 215

20.1.1 返回类型 215

20.1.2 异步方法 217

20.2 内部处理机制解析 218

20.2.1 总体流程 218

20.2.2 ActionMethodExecutor的选择与执行 219

20.2.3 Result Filter的执行 223

20.2.4 IActionResult的执行 225

20.2.5 ObjectResult的执行与返回格式的协商 227

20.3 自定义IActionResult 237

20.4 自定义格式化类 240

20.5 添加XML类型支持 242

第21章 一个API与小程序的项目 244

21.1 前期准备 244

21.1.1 服务器环境搭建 245

21.1.2 安装MongoDB数据库 245

21.1.3 微信小程序注册 246

21.2 API项目的基本功能 248

21.2.1 项目创建 248

21.2.2 操作MongoDB数据库 248

21.2.3 Model定义 252

21.2.4 Service接口及实现 254

21.2.5 Repository接口及实现 255

21.2.6 Controller与Action 257

21.2.7 AutoMapper的使用 258

21.3 应用JWT进行用户认证 259

21.3.1 JWT的组成 260

21.3.2 认证流程 261

21.3.3 用户登录与Token的发放 262

21.4 自定义用户授权 272

21.4.1 样例数据 272

21.4.2 自定义授权处理 274

21.5 使用Swagger生成Web API的帮助页 276

21.6 微信小程序 277

21.6.1 欢迎页 278

21.6.2 列表页 282

21.6.3 图表页 285



ASP.NET Core真机拆解 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:ASP.NET Core真机拆解