《ASP.NET Core 3框架揭秘》于昨天在下午京东正式开始预售,并在半天之内销售近一千套。为了回馈读者,出版社与京东谈了一个5折的价格。与此同时,我将本书最核心的内容作为样章(3章)于大家分享。

一、样章:管道

ASP.NET Core 是一个Web 开发平台,而不是一个单纯的开发框架。这是因为
ASP.NET Core 有一个极具扩展能力的请求处理管道,我们可以通过对这个管道的定
制来满足各种场景下的HTTP 处理需求。ASP. NET Core 应用的很多特性(如路由、
会话、缓存、认证、授权等)都是通过对管道的定制来实现的,我们可以通过管道定制在ASP.NET Core 平台上创建自己的Web框架。由于这部分内容是本书的核心,所以分为3 章(第11 章至第13 章)对请求处理管道进行全方面讲解。下载样章PDF

管道[上篇](第11章)

HTTP 协议自身的特性决定了任何一个Web 应用的工作模式都是监听、接收并处理HTTP
请求,并且最终对请求予以响应。HTTP 请求处理是管道式设计典型的应用场景:可以根据具
体的需求构建一个管道,接收的HTTP 请求像水一样流入这个管道,组成这个管道的各个环节
依次对其做相应的处理。虽然ASP.NET Core 的请求处理管道从设计上来讲是非常简单的,但是
具体的实现则涉及很多细节,为了使读者对此有深刻的理解,需要从编程的角度先了解
ASP.NET Core 管道式的请求处理方式。

管道[中篇](第12章)

第11 章利用一系列实例演示了ASP.NET Core 应用的编程模式,并借此来体验
ASP.NET Core 管道对请求的处理流程。这个管道由一个服务器和多个有序排列的中
间件构成。这看似简单,但ASP.NET Core 真实管道的构建其实是一个很复杂的过程。
由于这个管道对ASP.NET Core 框架非常重要,为了使读者对此有深刻的认识,本章
将介绍真实的管道,而且会按照类似的设计重建一个Mini 版的ASP.NET Core 框架。

管道[下篇](第13章)

有了第11 章和第12 章的铺垫,读者对ASP.NET Core 框架的请求处理管道已经有了相对充分的了解。第12 章使用少量的代码模拟了ASP.NET Core 框架的实现,虽然两者在设计思想上完全一致,但是省略了太多的细节。本章会弥补这些细节,还原一个真实的ASP.NET Core 框架。

二、5折预售

《ASP.NET Core 3框架揭秘》于昨天在下午京东正式开始预售,并在半天之内销售近一千套。为了回馈读者,出版社与京东谈了一个5折的价格,这是一个连我都没有想到的价格,至少我写着几本书从来没有卖得这么“便宜”过。对于想要购买本书的读者,可以通过如下的方式加入读者群进行购买(群公告会提供5折购买链接):搜索微信账号“broadview002”(博文小丸子)并添加为好友,并在申请消息中指定本书书号“38462”,出版社工作人员将自动帮你添加到该微信群。对于在群的朋友们,你也可以邀请感兴趣的人加入。

请千万不要直接在京东网址或者App上通过搜索购买,两者价格差距很大。不差钱的朋友可以忽略。读者群提供的专属5折链接是具有有效期的,在未来一周内(只有6天了)有效。

《ASP.NET Core 3框架揭秘》5折预售暨样章发布的更多相关文章

  1. 《ASP.NET Core 3框架揭秘》5折预售[发布试读章节]

    <ASP.NET Core 3框架揭秘>于昨天在下午京东正式开始预售,并在半天之内销售近一千套.为了回馈读者,出版社与京东谈了一个5折的价格,这是一个连我都没有想到的价格,至少我写着几本书 ...

  2. [ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [上篇]

    微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的 ...

  3. [ASP.NET Core 3框架揭秘] 跨平台开发体验: Docker

    对于一个 .NET Core开发人员,你可能没有使用过Docker,但是你不可能没有听说过Docker.Docker是Github上最受欢迎的开源项目之一,它号称要成为所有云应用的基石,并把互联网升级 ...

  4. [ASP.NET Core 3框架揭秘] 依赖注入:控制反转

    ASP.NET Core框架建立在一些核心的基础框架之上,这些基础框架包括依赖注入.文件系统.配置选项和诊断日志等.这些框架不仅仅是支撑ASP.NET Core框架的基础,我们在进行应用开发的时候同样 ...

  5. [ASP.NET Core 3框架揭秘] 依赖注入[5]: 利用容器提供服务

    毫不夸张地说,整个ASP.NET Core框架是建立在依赖注入框架之上的.ASP.NET Core应用在启动时构建管道以及利用该管道处理每个请求过程中使用到的服务对象均来源于依赖注入容器.该依赖注入容 ...

  6. [ASP.NET Core 3框架揭秘] 文件系统[1]:抽象的“文件系统”

    ASP.NET Core应用 具有很多读取文件的场景,比如配置文件.静态Web资源文件(比如CSS.JavaScript和图片文件等)以及MVC应用的View文件,甚至是直接编译到程序集中的内嵌资源文 ...

  7. [ASP.NET Core 3框架揭秘] 文件系统[2]:总体设计

    在<抽象的"文件系统">中,我们通过几个简单的实例演示从编程的角度对文件系统做了初步的体验,接下来我们继续从设计的角度来进一步认识它.这个抽象的文件系统以目录的形式来组 ...

  8. [ASP.NET Core 3框架揭秘] 配置[1]:读取配置数据[上篇]

    提到"配置"二字,我想绝大部分.NET开发人员脑海中会立即浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化 ...

  9. [ASP.NET Core 3框架揭秘] 配置[2]:读取配置数据[下篇]

    [接上篇]提到“配置”二字,我想绝大部分.NET开发人员脑海中会立即浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置定义 ...

随机推荐

  1. async样例

    function iniProcessDetail(isjob) { var cursor = logColl.find({}).sort({ip: 1}); var insertbolk = []; ...

  2. but for|lest,in case和for fear (that)|confidential|item|adapted for|fee|debates| retain|substantial|proceeded to|refrain from|clear|perceive

    He ________ you if you ________ to see him that afternoon.  A. might tell, were going  B. told, were ...

  3. idea运行时默认显示的index.jsp修改方法

    在web.xml中加入以下代码,然后重启服务器就可以了. <welcome-file-list> <welcome-file>这儿写你要显示的页面名称</welcome- ...

  4. 吴裕雄--天生自然KITTEN编程:小鼠数学题

  5. mysql启动报错ERROR! The server quit without updating PID file处理

    从其它服务器拷贝编译安装后的MySQL5.7目录后启动时报错如下: ERROR! The server quit without updating PID file(/path/to/XXX.pid) ...

  6. 2020 倒计时 1 天,Python 工程师找工作更难了?

    Python 是最神奇的编程语言. 无意引战,我说的是"神奇",不是"最好",并不想去"撼动" PHP 的地位.               ...

  7. Scrapy初体验(一) 环境部署

    系统选择centOs 7,Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, ...

  8. 当鼠标hover的时候,使用tip将overflow:hidden隐藏的文字显示完全

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 通过pl/sql连接远程Oracle数据库

    通过PL/SQL连接远程数据库,简单的方式就是安装Oracle客户端,还有一种方式就是不安装客户端,但是需要自己创建必要的配置文件,下面主要对安装客户端的过程简单做一下记录. 网上一个不安装客户端的教 ...

  10. Node学习(二) --使用http和fs模块实现一个简单的服务器

    1.创建一个www目录,存储静态文件1.html.1.jpg. * html文件内容如下: 12345678910111213 <html lang="en">< ...