ASP.NETCore真机拆解(异步图书出品)

ASP.NETCore真机拆解(异步图书出品)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-07
版次: 1
ISBN: 9787115540485
定价: 69.00
装帧: 平装
开本: 其他
页数: 300页
字数: 420千字
  • 对于读者来说,学习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社区的发展尽一份绵薄之力。 第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就像学习使用一部新手机。手机内部组成结构可能有改变,各个元器件的性能可能有提升,元器件之间的兼容性可能更好。但在操作方式上,用户除了要学习如何使用个别的新功能以及适应系统更快的反应速度外,并没有太多改变。 

    基于以上,本书内容主要分为三部分。第一部分是ASP.NET Core的使用说明,简要介绍如何使用ASP.NET Core创建项目及其与ASP.NET 4.x的不同点;第二部分是真机拆解,讲解ASP.NET Core框架的内部运行逻辑;第三部分是通过一个项目案例回顾全书知识点,并介绍如何在ASP.NET Core中对用户进行认证和授权。
  • 作者简介:
    罗志超,具有十余年的软件研发经验,先后在多家公司担任研发及项目经理。擅长.NET技术,对前端技术及iOS有一定的了解。2013年通过项目管理专业人员资质认证(PMP),现阶段所研究的项目主要采用.NET Core的相关技术栈。个人喜欢学习新技术,热衷于技术分享,希望能为.NET社区的发展尽一份绵薄之力。
  • 目录:
    第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.NETCore真机拆解(异步图书出品)
ASP.NET程序设计
张铁红
ASP.NETCore真机拆解(异步图书出品)
ASP.NET Core+Vue.js全栈开发训练营
南荣相如
ASP.NETCore真机拆解(异步图书出品)
ASIC物理设计要点
[美]霍斯鲁·戈尔山 著;崔志颖 译
ASP.NETCore真机拆解(异步图书出品)
ASP.NET实践教程(第3版)(微课版)
魏菊霞;李志中;李晶;谢云
ASP.NETCore真机拆解(异步图书出品)
AS- Helix : 人工智能时代艺术与科学融合——第五届艺术与科学国际作品展暨学术研讨会主旨报告文集
鲁晓波 主编;赵超 副主编
ASP.NETCore真机拆解(异步图书出品)
ASE斑点追踪超声心动图应变成像
(澳)托马斯·H.马维克
ASP.NETCore真机拆解(异步图书出品)
ASP.NET程序设计案例教程
张华
ASP.NETCore真机拆解(异步图书出品)
ASM全埋点开发实战
王灼洲 张伟
ASP.NETCore真机拆解(异步图书出品)
AS- Helix : 人工智能时代艺术与科学融合——第五届艺术与科学国际学术研讨会论文集
鲁晓波 主编;赵超 副主编
ASP.NETCore真机拆解(异步图书出品)
ASP.NET程序设计案例教程(第2版)
涂俊英
ASP.NETCore真机拆解(异步图书出品)
ASP.NET网站设计教程(微课视频版)
陶永鹏;郭鹏;刘建鑫;张立杰
ASP.NETCore真机拆解(异步图书出品)
ASP.NET Web开发技术(微课版)
王颖;刘艳;王先水
系列丛书 / 更多
ASP.NETCore真机拆解(异步图书出品)
ASP.NET程序设计
张铁红
ASP.NETCore真机拆解(异步图书出品)
ASP.NET Core+Vue.js全栈开发训练营
南荣相如
ASP.NETCore真机拆解(异步图书出品)
ASIC物理设计要点
[美]霍斯鲁·戈尔山 著;崔志颖 译
ASP.NETCore真机拆解(异步图书出品)
ASP.NET实践教程(第3版)(微课版)
魏菊霞;李志中;李晶;谢云
ASP.NETCore真机拆解(异步图书出品)
AS- Helix : 人工智能时代艺术与科学融合——第五届艺术与科学国际作品展暨学术研讨会主旨报告文集
鲁晓波 主编;赵超 副主编
ASP.NETCore真机拆解(异步图书出品)
ASE斑点追踪超声心动图应变成像
(澳)托马斯·H.马维克
ASP.NETCore真机拆解(异步图书出品)
ASP.NET程序设计案例教程
张华
ASP.NETCore真机拆解(异步图书出品)
ASM全埋点开发实战
王灼洲 张伟
ASP.NETCore真机拆解(异步图书出品)
AS- Helix : 人工智能时代艺术与科学融合——第五届艺术与科学国际学术研讨会论文集
鲁晓波 主编;赵超 副主编
ASP.NETCore真机拆解(异步图书出品)
ASP.NET程序设计案例教程(第2版)
涂俊英
ASP.NETCore真机拆解(异步图书出品)
ASP.NET网站设计教程(微课视频版)
陶永鹏;郭鹏;刘建鑫;张立杰
ASP.NETCore真机拆解(异步图书出品)
ASP.NET Web开发技术(微课版)
王颖;刘艳;王先水
相关图书 / 更多
ASP.NETCore真机拆解(异步图书出品)
ASP.NET程序设计
张铁红
ASP.NETCore真机拆解(异步图书出品)
ASP.NET Core+Vue.js全栈开发训练营
南荣相如
ASP.NETCore真机拆解(异步图书出品)
ASIC物理设计要点
[美]霍斯鲁·戈尔山 著;崔志颖 译
ASP.NETCore真机拆解(异步图书出品)
ASP.NET实践教程(第3版)(微课版)
魏菊霞;李志中;李晶;谢云
ASP.NETCore真机拆解(异步图书出品)
AS- Helix : 人工智能时代艺术与科学融合——第五届艺术与科学国际作品展暨学术研讨会主旨报告文集
鲁晓波 主编;赵超 副主编
ASP.NETCore真机拆解(异步图书出品)
ASE斑点追踪超声心动图应变成像
(澳)托马斯·H.马维克
ASP.NETCore真机拆解(异步图书出品)
ASP.NET程序设计案例教程
张华
ASP.NETCore真机拆解(异步图书出品)
ASM全埋点开发实战
王灼洲 张伟
ASP.NETCore真机拆解(异步图书出品)
AS- Helix : 人工智能时代艺术与科学融合——第五届艺术与科学国际学术研讨会论文集
鲁晓波 主编;赵超 副主编
ASP.NETCore真机拆解(异步图书出品)
ASP.NET程序设计案例教程(第2版)
涂俊英
ASP.NETCore真机拆解(异步图书出品)
ASP.NET网站设计教程(微课视频版)
陶永鹏;郭鹏;刘建鑫;张立杰
ASP.NETCore真机拆解(异步图书出品)
ASP.NET Web开发技术(微课版)
王颖;刘艳;王先水