ASP.NET Core 3从入门到实战

ASP.NET Core 3从入门到实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2021-01
版次: 1
ISBN: 9787111669845
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
字数: 500千字
分类: 工程技术
8人买过
  • 在Web应用研发领域容器编排、微服务、服务网格等先进架构已大行其道的今天,本书作为ASP.NET Core的入门教程,可以让广大开发人员在自己的技能列表里添加上这个关键项。本书从ASP.NET Core的核心组件入手,延伸到MVC、WebAPI、SignalR(实时通信应用)、Blazor(wasm应用)、机器学习等多种应用开发,全方位地讲解ASP.NET Core的应用场景、开发实践和部署发布,带领读者学习从开发到发布基于ASP.NET Core项目的全过程。
      本书主要针对的是对C#语法和Web开发有一定了解、期望使用C#语言开发Web项目的初学者,也可以是具有ASP.NET MVC开发经验、希望通过ASP.NET Core提升跨平台和容器化开发能力的开发者。 前言

    第1章  为什么选择ASP.NET Core1

      1.1  什么是.NET1

      1.2  ASP.NET Core的特点3

      1.3  读者能从本书学到什么4

    第2章  ASP.NET Core开发工具安装6

      2.1  .NET Core SDK安装6

             2.1.1  获取.NET Core SDK6

             2.1.2  安装.NET Core SDK7

      2.2  Visual Studio Code安装7

             2.2.1  获取Visual Studio Code8

             2.2.2  安装Visual Studio Code8

             2.2.3  更新Visual Studio Code10

      2.3  Visual Studio 2019安装10

             2.3.1  确保计算机可以安装Visual Studio10

             2.3.2  获取 Visual Studio11

             2.3.3  安装Visual Studio安装程序11

             2.3.4  启动安装程序12

    第3章  ASP.NET Core核心组件详解13

      3.1  框架总述13

      3.2  依赖注入14

             3.2.1  什么是依赖注入14

             3.2.2  依赖注入组件15

             3.2.3  服务描述类ServiceDescriptor16

             3.2.4  IServiceCollection与服务注册18

             3.2.5  通过IServiceProvider获取服务实例20

             3.2.6  作用域与生命周期22

             3.2.7  IDisposable与生命周期25

             3.2.8  扩展接口IServiceProviderFactory25

             3.2.9  在Controller中获取服务28

      3.3  配置组件29

             3.3.1  配置组件的构造过程29

             3.3.2  内存配置提供程序32

             3.3.3  命令行配置提供程序32

             3.3.4  环境变量配置提供程序34

             3.3.5  文件配置提供程序35

             3.3.6  Key-per-file配置提供程序37

             3.3.7  使用IConfiguration读取配置38

             3.3.8  使用强类型接收配置40

      3.4  选项组件42

             3.4.1  选项的注入与使用42

             3.4.2  使用命名选项44

             3.4.3  验证选项46

             3.4.4  选项后期配置47

      3.5  中间件48

             3.5.1  注册中间件49

             3.5.2  常用的内置中间件51

      3.6  路由与终结点52

             3.6.1  注册终结点53

             3.6.2  路由模板54

             3.6.3  特性路由55

             3.6.4  路由约束56

             3.6.5  生成链接57

    第4章  基于MVC设计模式的Web应用59

      4.1  创建第一个ASP.NET Core MVC项目59

      4.2  什么是MVC模式63

      4.3  视图64

             4.3.1  使用视图的好处65

             4.3.2  创建视图66

             4.3.3  利用控制器指定视图66

             4.3.4  视图发现67

             4.3.5  向视图传递数据68

             4.3.6  动态视图72

      4.4  部分视图73

             4.4.1  何时使用部分视图73

             4.4.2  声明部分视图73

             4.4.3  引用部分视图74

             4.4.4  呈现部分视图75

             4.4.5  通过部分视图访问数据76

      4.5  控制器78

             4.5.1  什么是控制器78

             4.5.2  Action79

             4.5.3  横切关注点80

      4.6  路由80

             4.6.1  自定义路由81

             4.6.2  混合路由82

             4.6.3  动态路由82

      4.7  区域85

      4.8  筛选器89

             4.8.1  筛选器的工作原理90

             4.8.2  实现91

      4.9  模型绑定器95

             4.9.1  什么是模型绑定95

             4.9.2  目标96

             4.9.3  源97

             4.9.4  不存在模型属性的源98

             4.9.5  类型转换错误99

             4.9.6  复杂类型99

             4.9.7  集合101

             4.9.8  字典102

             4.9.9  模型绑定路由数据和URL字符串参数的全局行为102

             4.9.10  特殊数据类型103

             4.9.11  输入格式化程序103

             4.9.12  从模型绑定中排除指定类型105

             4.9.13  手动模型绑定106

    第5章  基于ASP.NET Core的Web API107

      5.1  创建ASP.NET Core的Web API项目107

      5.2  带有Swagger的Web API帮助页111

             5.2.1  Swashbuckle.AspNetCore111

             5.2.2  Swagger规范112

             5.2.3  Swagger UI113

      5.3  ASP.NET Core Web API中控制器的返回类型114

             5.3.1  特定类型114

             5.3.2  IActionResult 类型115

             5.3.3  ActionResult 类型117

      5.4  Web API约定118

             5.4.1  应用Web API约定119

             5.4.2  创建Web API约定120

    第6章  ASP.NET Core中的数据库访问122

      6.1  Entity Framework Core122

      6.2  安装并运行MySQL123

             6.2.1  启动MySQL125

             6.2.2  创建数据库125

      6.3  数据库访问126

             6.3.1  添加数据库上下文126

             6.3.2  创建控制器127

      6.4  .NET Core Dapper128

    第7章  安全与身份认证129

      7.1  身份认证129

             7.1.1  身份认证处理程序130

             7.1.2  身份认证方案130

             7.1.3  身份认证服务130

             7.1.4  身份认证中间件131

             7.1.5  添加基于策略的身份认证方案132

             7.1.6  用户信息模型133

             7.1.7  添加自定义身份认证处理程序133

      7.2  授权135

             7.2.1  简单授权135

             7.2.2  基于角色的授权136

             7.2.3  基于策略的授权137

             7.2.4  授权中间件137

             7.2.5  授权处理程序138

             7.2.6  自定义授权处理程序139

      7.3  集成IdentityServer4139

      7.4  数据保护141

             7.4.1  数据保护入门142

             7.4.2  用户机密管理143

             7.4.3  小结143

      7.5  强制HTTPS143

             7.5.1  RequireHttpsAttribute144

             7.5.2  HTTPS重定向中间件144

             7.5.3  HTTP严格传输安全协议145

      7.6  防跨站请求伪造145

             7.6.1  什么是跨站请求伪造146

             7.6.2  同步令牌模式146

      7.7  防开放重定向攻击147

      7.8  防跨站脚本148

             7.8.1  防范跨站脚本攻击149

             7.8.2  使用Razor的HTML编码149

             7.8.3  使用Razor的JavaScript编码149

             7.8.4  小结150

      7.9  跨域请求150

             7.9.1  跨域资源共享150

             7.9.2  启用CORS中间件150

             7.9.3  配置需要CORS的资源路径152

             7.9.4  小结152

    第8章  基于SignalR开发实时通信应用153

      8.1  基于SignalR的实时通信153

             8.1.1  数据交互传输153

             8.1.2  Hub中心154

      8.2  服务端实现155

             8.2.1  创建和使用Hub155

             8.2.2  启用SignalR155

             8.2.3  上下文对象Context156

             8.2.4  Clients对象156

             8.2.5  向客户端发送消息157

             8.2.6  处理连接事件158

             8.2.7  用户和组158

             8.2.8  服务的可扩展实现159

      8.3  客户端实现160

             8.3.1  创建connection对象160

             8.3.2  使用on添加客户端方法160

             8.3.3  使用start开始连接服务端160

             8.3.4  使用invoke调用服务端方法161

             8.3.5  自动连接161

             8.3.6  手动重连163

    第9章  基于Blazor的Web客户端技术164

      9.1  Blazor的应用模型165

      9.2  创建项目166

      9.3  页面路由169

      9.4  数据绑定171

      9.5  组件172

             9.5.1  模板化组件172

             9.5.2  组件库174

      9.6  状态管理176

    第10章  日志与监控181

      10.1  日志组件181

             10.1.1  日志类别183

             10.1.2  日志级别184

             10.1.3  日志对象与依赖注入185

             10.1.4  事件ID186

             10.1.5  使用日志模板187

             10.1.6  日志作用域188

             10.1.7  筛选日志输出192

      10.2  健康检查组件193

             10.2.1  注册健康检查194

             10.2.2  配置健康检查终结点196

             10.2.3  自定义健康检查项198

             10.2.4  检查结果发布器199

    第11章  远程调用201

      11.1  使用HttpClient调用远程API201

             11.1.1  构造HttpClient201

             11.1.2  发出请求203

             11.1.3  设置代理204

             11.1.4  处理Cookie204

      11.2  使用HttpClientFactory机制管理HttpClient205

             11.2.1  注册并使用HttpClientFactory205

             11.2.2  使用命名客户端207

             11.2.3  使用类型化客户端208

             11.2.4  使用ConfigureHttpClient209

             11.2.5  使用ConfigurePrimaryHttpMessageHandler210

             11.2.6  理解生命周期211

             11.2.7  HTTP请求管道212

             11.2.8  使用ConfigureHttpMessageHandlerBuilder213

             11.2.9  关于请求日志214

      11.3  使用gRPC实现高性能远程调用215

             11.3.1  定义接口描述216

             11.3.2  配置服务端217

             11.3.3  配置客户端219

             11.3.4  使用dotnet-grpc命令行工具管理 .proto 文件引用220

    第12章  部署ASP.NET Core应用222

      12.1  部署到IIS中222

             12.1.1  概述222

             12.1.2  下载和安装ASP.NET Core模块223

             12.1.3  部署到IIS
  • 内容简介:
    在Web应用研发领域容器编排、微服务、服务网格等先进架构已大行其道的今天,本书作为ASP.NET Core的入门教程,可以让广大开发人员在自己的技能列表里添加上这个关键项。本书从ASP.NET Core的核心组件入手,延伸到MVC、WebAPI、SignalR(实时通信应用)、Blazor(wasm应用)、机器学习等多种应用开发,全方位地讲解ASP.NET Core的应用场景、开发实践和部署发布,带领读者学习从开发到发布基于ASP.NET Core项目的全过程。
      本书主要针对的是对C#语法和Web开发有一定了解、期望使用C#语言开发Web项目的初学者,也可以是具有ASP.NET MVC开发经验、希望通过ASP.NET Core提升跨平台和容器化开发能力的开发者。
  • 目录:
    前言

    第1章  为什么选择ASP.NET Core1

      1.1  什么是.NET1

      1.2  ASP.NET Core的特点3

      1.3  读者能从本书学到什么4

    第2章  ASP.NET Core开发工具安装6

      2.1  .NET Core SDK安装6

             2.1.1  获取.NET Core SDK6

             2.1.2  安装.NET Core SDK7

      2.2  Visual Studio Code安装7

             2.2.1  获取Visual Studio Code8

             2.2.2  安装Visual Studio Code8

             2.2.3  更新Visual Studio Code10

      2.3  Visual Studio 2019安装10

             2.3.1  确保计算机可以安装Visual Studio10

             2.3.2  获取 Visual Studio11

             2.3.3  安装Visual Studio安装程序11

             2.3.4  启动安装程序12

    第3章  ASP.NET Core核心组件详解13

      3.1  框架总述13

      3.2  依赖注入14

             3.2.1  什么是依赖注入14

             3.2.2  依赖注入组件15

             3.2.3  服务描述类ServiceDescriptor16

             3.2.4  IServiceCollection与服务注册18

             3.2.5  通过IServiceProvider获取服务实例20

             3.2.6  作用域与生命周期22

             3.2.7  IDisposable与生命周期25

             3.2.8  扩展接口IServiceProviderFactory25

             3.2.9  在Controller中获取服务28

      3.3  配置组件29

             3.3.1  配置组件的构造过程29

             3.3.2  内存配置提供程序32

             3.3.3  命令行配置提供程序32

             3.3.4  环境变量配置提供程序34

             3.3.5  文件配置提供程序35

             3.3.6  Key-per-file配置提供程序37

             3.3.7  使用IConfiguration读取配置38

             3.3.8  使用强类型接收配置40

      3.4  选项组件42

             3.4.1  选项的注入与使用42

             3.4.2  使用命名选项44

             3.4.3  验证选项46

             3.4.4  选项后期配置47

      3.5  中间件48

             3.5.1  注册中间件49

             3.5.2  常用的内置中间件51

      3.6  路由与终结点52

             3.6.1  注册终结点53

             3.6.2  路由模板54

             3.6.3  特性路由55

             3.6.4  路由约束56

             3.6.5  生成链接57

    第4章  基于MVC设计模式的Web应用59

      4.1  创建第一个ASP.NET Core MVC项目59

      4.2  什么是MVC模式63

      4.3  视图64

             4.3.1  使用视图的好处65

             4.3.2  创建视图66

             4.3.3  利用控制器指定视图66

             4.3.4  视图发现67

             4.3.5  向视图传递数据68

             4.3.6  动态视图72

      4.4  部分视图73

             4.4.1  何时使用部分视图73

             4.4.2  声明部分视图73

             4.4.3  引用部分视图74

             4.4.4  呈现部分视图75

             4.4.5  通过部分视图访问数据76

      4.5  控制器78

             4.5.1  什么是控制器78

             4.5.2  Action79

             4.5.3  横切关注点80

      4.6  路由80

             4.6.1  自定义路由81

             4.6.2  混合路由82

             4.6.3  动态路由82

      4.7  区域85

      4.8  筛选器89

             4.8.1  筛选器的工作原理90

             4.8.2  实现91

      4.9  模型绑定器95

             4.9.1  什么是模型绑定95

             4.9.2  目标96

             4.9.3  源97

             4.9.4  不存在模型属性的源98

             4.9.5  类型转换错误99

             4.9.6  复杂类型99

             4.9.7  集合101

             4.9.8  字典102

             4.9.9  模型绑定路由数据和URL字符串参数的全局行为102

             4.9.10  特殊数据类型103

             4.9.11  输入格式化程序103

             4.9.12  从模型绑定中排除指定类型105

             4.9.13  手动模型绑定106

    第5章  基于ASP.NET Core的Web API107

      5.1  创建ASP.NET Core的Web API项目107

      5.2  带有Swagger的Web API帮助页111

             5.2.1  Swashbuckle.AspNetCore111

             5.2.2  Swagger规范112

             5.2.3  Swagger UI113

      5.3  ASP.NET Core Web API中控制器的返回类型114

             5.3.1  特定类型114

             5.3.2  IActionResult 类型115

             5.3.3  ActionResult 类型117

      5.4  Web API约定118

             5.4.1  应用Web API约定119

             5.4.2  创建Web API约定120

    第6章  ASP.NET Core中的数据库访问122

      6.1  Entity Framework Core122

      6.2  安装并运行MySQL123

             6.2.1  启动MySQL125

             6.2.2  创建数据库125

      6.3  数据库访问126

             6.3.1  添加数据库上下文126

             6.3.2  创建控制器127

      6.4  .NET Core Dapper128

    第7章  安全与身份认证129

      7.1  身份认证129

             7.1.1  身份认证处理程序130

             7.1.2  身份认证方案130

             7.1.3  身份认证服务130

             7.1.4  身份认证中间件131

             7.1.5  添加基于策略的身份认证方案132

             7.1.6  用户信息模型133

             7.1.7  添加自定义身份认证处理程序133

      7.2  授权135

             7.2.1  简单授权135

             7.2.2  基于角色的授权136

             7.2.3  基于策略的授权137

             7.2.4  授权中间件137

             7.2.5  授权处理程序138

             7.2.6  自定义授权处理程序139

      7.3  集成IdentityServer4139

      7.4  数据保护141

             7.4.1  数据保护入门142

             7.4.2  用户机密管理143

             7.4.3  小结143

      7.5  强制HTTPS143

             7.5.1  RequireHttpsAttribute144

             7.5.2  HTTPS重定向中间件144

             7.5.3  HTTP严格传输安全协议145

      7.6  防跨站请求伪造145

             7.6.1  什么是跨站请求伪造146

             7.6.2  同步令牌模式146

      7.7  防开放重定向攻击147

      7.8  防跨站脚本148

             7.8.1  防范跨站脚本攻击149

             7.8.2  使用Razor的HTML编码149

             7.8.3  使用Razor的JavaScript编码149

             7.8.4  小结150

      7.9  跨域请求150

             7.9.1  跨域资源共享150

             7.9.2  启用CORS中间件150

             7.9.3  配置需要CORS的资源路径152

             7.9.4  小结152

    第8章  基于SignalR开发实时通信应用153

      8.1  基于SignalR的实时通信153

             8.1.1  数据交互传输153

             8.1.2  Hub中心154

      8.2  服务端实现155

             8.2.1  创建和使用Hub155

             8.2.2  启用SignalR155

             8.2.3  上下文对象Context156

             8.2.4  Clients对象156

             8.2.5  向客户端发送消息157

             8.2.6  处理连接事件158

             8.2.7  用户和组158

             8.2.8  服务的可扩展实现159

      8.3  客户端实现160

             8.3.1  创建connection对象160

             8.3.2  使用on添加客户端方法160

             8.3.3  使用start开始连接服务端160

             8.3.4  使用invoke调用服务端方法161

             8.3.5  自动连接161

             8.3.6  手动重连163

    第9章  基于Blazor的Web客户端技术164

      9.1  Blazor的应用模型165

      9.2  创建项目166

      9.3  页面路由169

      9.4  数据绑定171

      9.5  组件172

             9.5.1  模板化组件172

             9.5.2  组件库174

      9.6  状态管理176

    第10章  日志与监控181

      10.1  日志组件181

             10.1.1  日志类别183

             10.1.2  日志级别184

             10.1.3  日志对象与依赖注入185

             10.1.4  事件ID186

             10.1.5  使用日志模板187

             10.1.6  日志作用域188

             10.1.7  筛选日志输出192

      10.2  健康检查组件193

             10.2.1  注册健康检查194

             10.2.2  配置健康检查终结点196

             10.2.3  自定义健康检查项198

             10.2.4  检查结果发布器199

    第11章  远程调用201

      11.1  使用HttpClient调用远程API201

             11.1.1  构造HttpClient201

             11.1.2  发出请求203

             11.1.3  设置代理204

             11.1.4  处理Cookie204

      11.2  使用HttpClientFactory机制管理HttpClient205

             11.2.1  注册并使用HttpClientFactory205

             11.2.2  使用命名客户端207

             11.2.3  使用类型化客户端208

             11.2.4  使用ConfigureHttpClient209

             11.2.5  使用ConfigurePrimaryHttpMessageHandler210

             11.2.6  理解生命周期211

             11.2.7  HTTP请求管道212

             11.2.8  使用ConfigureHttpMessageHandlerBuilder213

             11.2.9  关于请求日志214

      11.3  使用gRPC实现高性能远程调用215

             11.3.1  定义接口描述216

             11.3.2  配置服务端217

             11.3.3  配置客户端219

             11.3.4  使用dotnet-grpc命令行工具管理 .proto 文件引用220

    第12章  部署ASP.NET Core应用222

      12.1  部署到IIS中222

             12.1.1  概述222

             12.1.2  下载和安装ASP.NET Core模块223

             12.1.3  部署到IIS
查看详情
12
相关图书 / 更多
ASP.NET Core 3从入门到实战
ASP.NET程序设计
张铁红
ASP.NET Core 3从入门到实战
ASP.NET动态网站项目开发实用教程(C#版)(微课版)
陈凤 张治军 谭恒松 胡游龙
ASP.NET Core 3从入门到实战
ASIC物理设计要点
[美]霍斯鲁·戈尔山 著;崔志颖 译
ASP.NET Core 3从入门到实战
ASP.NET实践教程(第3版)(微课版)
魏菊霞;李志中;李晶;谢云
ASP.NET Core 3从入门到实战
AS- Helix : 人工智能时代艺术与科学融合——第五届艺术与科学国际作品展暨学术研讨会主旨报告文集
鲁晓波 主编;赵超 副主编
ASP.NET Core 3从入门到实战
ASP.NET程序设计案例教程
张华
ASP.NET Core 3从入门到实战
ASM全埋点开发实战
王灼洲 张伟
ASP.NET Core 3从入门到实战
AS- Helix : 人工智能时代艺术与科学融合——第五届艺术与科学国际学术研讨会论文集
鲁晓波 主编;赵超 副主编
ASP.NET Core 3从入门到实战
ASP.NET程序设计案例教程(第2版)
涂俊英
ASP.NET Core 3从入门到实战
ASP.NET核心技术
叶昭晖 著;叶昭晖、陈修亮、郑龙、王伊、杨磊 编
ASP.NET Core 3从入门到实战
ASP.NET网站设计教程(微课视频版)
陶永鹏;郭鹏;刘建鑫;张立杰
ASP.NET Core 3从入门到实战
ASP.NET Web开发技术(微课版)
王颖;刘艳;王先水
您可能感兴趣 / 更多
ASP.NET Core 3从入门到实战
PyTorch机器学习从入门到实战
校宝在线 孙琳 蒋阳波 汪建成 项斌