猜你喜欢
蒋金楠新作 ASP.NET Core 6框架揭秘(上下册)(博文视点出品)

蒋金楠新作 ASP.NET Core 6框架揭秘(上下册)(博文视点出品)

书籍作者:蒋金楠 ISBN:9787121435669
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2489
创建日期:2023-04-05 发布日期:2023-04-05
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《ASP.NET Core 6框架揭秘(上下册)》主要介绍 ASP.NET Core 框架的核心技术部分,即由一个服务器和若干中间件构建的管道。本书共分为 5 篇:“第 1 篇 初识编程(第 1 章)”列举一系列极简的实例为读者提供基本的编程体验,“第 2 篇 基础框架(第 2~13 章)”主要介绍了一系列支撑 ASP.NET Core 的基础框架,“第 3 篇 承载系统(第 14~17章)”主要介绍了 ASP.NET Core 应用的承载流程,“第 4 篇 服务器概述(第 18 章)”列举一系列常见的服务器类型并对它们进行了比较,“第 5 篇 中间件(第 19~30 章)”系统地介绍了一系列预定义的中间件。


作者简介

蒋金楠,网名Artech,高级软件顾问。微软6任MVP(Solutions Architecture、Connected System与Microsoft Integration)。中国 .NET 技术领域资深专家,著有《WCF全面解析》)、《ASP.NET MVC 5框架揭秘》等多部领域畅销著作。对.NET Framework、C#、ASP.NET、SQL Server、设计模式、软件架构,以及主流开源框架有着深入研究,同时对.NET Remoting、MSMQ通信技术有深入的理解。博客园头牌博主,51CTO十佳博客,知名技术公众号“大内老A”号主。


编辑推荐

.NET 20年厚积薄发的 Web开发基石大作,领域旗帜性专家紧跟版本再续神作!本书不拘泥于某种具体的编程模式,而是直接从HTTP请求处理流程的角度对ASP.NET Core框架进行剖析,为用户展示极为本质的核心内容。


61 剖析支撑ASP.NET Core的基础框架(依赖注入、配置选项、诊断日志、对象池、数据保护等)。

61 介绍以IHost/IHostBuilder为核心的服务承载系统,该系统如何实现ASP.NET Core应用承载,以及Minimal API背后的逻辑。

61 梳理“管道”对请求进行处理的原理,以及在应用承载过程中的构建流程。

61 系统、深入地介绍预定义的“中间件”。


前言

写作源起

2014 年,出版《ASP.NET MVC 5 框架揭秘》之后,我原本打算撰写《ASP.NET 框架揭秘》。后I来.NET Core 横空出世,我的研究方向也随之转移,于是就有了在 2019 年出版的《ASP.NET Core 3 框架揭秘》。

在 .NET 5 发布之前,我准备将这本书进行相应的升级。按照微软公布的版本差异,我觉得升级到《ASP.NET 5 框架揭秘》应该不会花费太多时间和精力,但后来的事实证明我的想法太天真了。由于这本书主要介绍的是 ASP.NET 框架的内部设计和实现,版本之间涉及的很多变化并未“记录在案”,只能通过阅读源代码的方式去发掘。本着宁缺毋滥的原则,我放弃了撰写《ASP.NET 5 框架揭秘》。现在看来这是一个明智的决定,因为 ASP.NET Core 6 是稳定的长期支持版本。另外,我也有了相对充裕的时间逐个确认书中涉及的每个特性在新版本中是否发生了变化,并进行了相应的修改,删除陈旧的内容,添加新的特性。

对于升级后的《ASP.NET Core 6 框架揭秘》,一个全局的改动就是全面切换到基于 Minimal API 的编程模式上。升级后的版本添加了一系列新的章节,如“第 10 章 对象池”“第 12 章 HTTP 调用”“第 13 章 数据保护”“第 18 章 服务器”“第 24 章 HTTPS 策略”“第 25 章 重定向”“第 26 章 限流”等。由于篇幅的限制,不得不删除一些“不那么重要”的章节。


本书内容

《ASP.NET Core 6 框架揭秘》只关注 ASP.NET Core 框架最核心的部分,即由一个服务器和若干中间件构建的管道,除了“第 1 章 编程体验”,其他章节基本上都不会涉及上层的编程框架。本书共分为以下 5 篇内容。

● 初始编程

第 1 章提供了 20 个极简的 Hello World 应用程序,带领读者感受一下 ASP.NET Core 的编程体验。这些演示实例涉及基于命令行的应用创建和 Minimal API 的编程模式,还涉及多种中间件的定义及配置选项和诊断日志的应用。第 1 章还演示了如何利用路由、MVC 和 gRPC 开发 Web 应用和 API,4 种针对 Dapr 的应用开发模型也包含在这 20 个演示实例中。

● 基础框架

ASP.NET Core 建立在一系列基础框架之上,这些独立的框架在日常的应用开发中同样被广泛地使用。第 2 篇提供的若干章节对这些基础框架进行了系统而详细的介绍,其中包括“第 2~3 章 依赖注入”“第 4 章 文件系统”“第 5~6 章 配置选项”“第 7~9 章 诊断日志”“第 10 章 对象池”“第 11 章 缓存”“第 12 章 HTTP 调用”“第 13 章 数据保护”。

● 承载系统

ASP.NET Core 应用作为一个后台服务寄宿于服务承载系统中,“第 14 章 服务承载”主要对该承载系统进行了详细介绍。ASP.NET Core 应用的承载是本书最核心的部分,“第 15~17 章 应用承载(上、中、下)”不仅对 ASP.NET Core 请求处理管道的构建和应用承载的内部流程进行了详细介绍,还对 Minimal API 的编程模型和底层的实现原理进行了详细介绍。

● 服务器概述

本书所有内容都围绕着 ASP.NET Core 请求处理管道,该管道由一个服务器和若干中间件构建。第 18 章主要对服务器的系统进行了介绍,不仅会详细介绍 Kestrel 服务器的使用和实现原理,还会介绍基于 IIS 的两种部署模式和 HTTP.SYS 的使用,以及如何自定义服务器类型。

● 中间件

服务器接收的请求会分发给中间件管道进行处理。本篇对大部分中间件的使用和实现原理进行了介绍,其中包括“第 19 章 静态文件”“第 20 章 路由”“第 21 章 异常处理”“第 22 章 响应缓存”“第 23 章 会话”“第 24 章 HTTPS 策略”“第 25 章 重定向”“第 26 章 限流”“第 27 章 认证”“第 28 章 授权”“第 29 章 跨域资源共享”“第 30 章 健康检查”。


写作特点

《ASP.NET Core 6 框架揭秘》是揭秘系列的第 6 本书。在这之前,我得到了很多热心读者的反馈,这些反馈对书中的内容基本上都持正面评价,但对写作技巧和表达方式的评价则不尽相同。

每个作者都有属于自己的写作风格,而每个读者的学习思维方式也不尽相同,两者很难出现百分之百的契合,但我还是决定在《ASP.NET Core 3 框架揭秘》的基础上对后续作品进行修改。从收到的反馈意见来看,这一改变得到了读者的认可,所以《ASP.NET Core 6 框架揭秘》沿用了这样的写作方式。

本书的写作风格可以概括为“体验先行、设计贯通、应用扩展”12 个字。大部分章节开头都会提供一些简单的演示实例,旨在让读者对 ASP.NET Core 的基本功能特性和编程模式有一个大致的了解。在此之后,我会提供背后的故事,即编程模型的设计和原理。将开头实例和架构设计融会贯通之后,读者基本上能够将学到的知识正确地应用到事件中,对应章节对此会提供一些最佳实践。秉承“对扩展开放,对改变关闭”的“开闭原则”,每个功能模块都提供了相应的扩展点,能够精准地找到并运用适合的扩展来解决真实项目开发中的问题才是终极的目标,对应章节会介绍可用的扩展点,并提供一些解决方案和演示实例。

本书综合运用“文字”“图表”“编程”这 3 种不同的“语言”来介绍每个技术主题。一图胜千言,每章都精心设计了很多图表,这些具象的图表能够帮助读者理解技术模块的总体设计、执行流程和交互方式。除了利用编程语言描述应用编程接口(API),本书还提供了 200 多个实例,这些实例具有不同的作用,有的是为了演示某个实用的编程技巧或者最佳实践,有的是为了强调一些容易忽视但很重要的技术细节,有的是为了探测和证明所述的论点。

本书在很多地方展示了一些类型的代码,但是绝大部分代码和真正的源代码是有差异的,两者的差异有以下几个原因:第一,源代码在版本更替中一直在发生改变;第二,由于篇幅的限制,删除了一些细枝末节的代码,如针对参数的验证、诊断日志的输出和异常处理等;第三,很多源代码其实都具有优化的空间。本书提供的代码片段旨在揭示设计原理和实现逻辑,不是为了向读者展示源代码。


目标读者

虽然本书关注的是 ASP.NET Core 自身框架提供的请求处理管道,而不是具体某个应用编程框架,但是本书适合大多数 .NET 技术从业人员阅读。任何好的设计都应该是简单的,唯有简单的设计才能应对后续版本更替中出现的复杂问题。ASP.NET Core 框架就是好的设计,因为自正式推出的那一刻起,该框架的总体设计基本上没有发生改变。既然设计是简单的,对大部分从业人员来说,对框架的学习也就没有什么门槛。本书采用渐进式的写作方式,对于完全没有接触过 ASP.NET Core 的开发人员也可以通过学习本书内容深入、系统地掌握这门技术。由于本书提供的大部分内容都是独一无二的,即使是资深的 .NET 开发人员,也能在书中找到很多不甚了解的盲点。


目录

第 1 篇 初识编程

第 1 章 编程体验


第 2 篇 基础框架

第 2 章 依赖注入(上)

第 3 章 依赖注入(下)

第 4 章 文件系统

第 5 章 配置选项(上)

第 6 章 配置选项(下)

第 7 章 诊断日志(上)

第 8 章 诊断日志(中)

第 9 章 诊断日志(下)

第 10 章 对象池

第 11 章 缓存

第 12 章 HTTP 调用

第 13 章 数据保护



第 3 篇 承载系统

第 14 章 服务承载

第 15 章 应用承载(上)

第 16 章 应用承载(中)

第 17 章 应用承载(下)


第 4 篇 服务器概述

第 18 章 服务器


第 5 篇 中间件

第 19 章 静态文件

第 20 章 路由、

第 21 章 异常处理

第 22 章 响应缓存

第 23 章 会话

第 24 章 HTTPS 策略

第 25 章 重定向

第 26 章 限流

第 27 章 认证

第 28 章 授权

第 29 章 跨域资源共享

第 30 章 健康检查


产品特色