2018年.NET Core 2.0发布后,开始逐步学习.NET Core 并逐步在新的项目中使用ASP.NET Core。并且零零散散写的写了将近30篇学习笔记发到园子里,包括ASP.NET Core的一些”使用方法“和“源码阅读笔记”。直到后来出版社的张爽编辑问我是否考虑把这些内容写成一本书。我开始对原来的博文进行整理,去年10.1之前.NET Core 3发布,将原来写的内容更新后11月份交稿。对于我来说,写实体书和网上发博客区别太大了,我的博文偏口语化,而且对于一些简单的知识点觉得“大家都懂的”,就一带而过了,经常有“跳跃”的感觉。而在实体书中,语法措辞方面就要非常注意了,感谢出版社的编辑们的耐心指导和纠正。疫情拖慢了好多事情的进度,到现在,期待已久的书终于上市了。个人喜欢学习新技术,热衷技术分享,希望能为.NET生态的活跃尽一份绵薄之力。

本书主要素材来自之前的博客文章,增加了部分章节以及对原有章节的整理和补充,见ASP.NET Core 系列目录

所以本书不是一本大而全的书。ASP.NET Core采用模块化设计,并提供了丰富的配置和扩展的方法,构建一个应用可以有多种不同的选择及细节定制。而本书只会讲这“条条大路通罗马”中的一条或两条主流的路,使读者能简单、快速的了解ASP.NET Core的常用使用方法及相关的源码逻辑,快速上手。其他的细节可以在使用过程中逐步学习。

对本书有兴趣的朋友可以参与本次的赠书活动,今明两天(9月21、22)每天下午1点开始最先评论本文的(今天一位、明天两位,共三本)请联系我告诉您的邮寄地址。

本书简介:

 
  图书简介及标题含义:对于用过.NET Framework版本的MVC的朋友来说,学习ASP.NET Core就像学习使用一部新手机。手机内部组成结构可能有或大或小改变,各个元器件的性能可能有提升,元器件之间的兼容性可能更好。但在操作方式上,用户除了要学习如何使用个别的新功能以及适应系统更快的反应速度外,并没有太多改变。
  所以本书就是把这部新手机“拆解”, 分部从使用及内部结构的角度进行讲解分析。本书内容主要分为三部分。第一部分是ASP.NET Core的使用说明,简要介绍如何使用ASP.NET Core创建项目及其与ASP.NET 4.x的不同点;第二部分是真机拆解,讲解ASP.NET Core框架的内部运行逻辑;第三部分是通过一个项目案例回顾全书知识点,并介绍如何在ASP.NET Core中对用户进行认证和授权。

第一部分:从使用角度介绍ASP.NET Core。

第 1 章 ASP.NET Core概述: 介绍为什么要使用 ASP.NET Core,它的优势是什么,它为什么能跨平台。

第 2 章 开发环境:介绍开发环境的准备。

第 3 章 项目结构:新建一个项目,逐一介绍项目中的各个文件夹和文件的用途,从整体的角度了解项目的构成。

第 4 章 _Layout与_ViewStart:介绍两个特殊的View,了解View的加载顺序。

第 5 章 TagHelper:介绍ASP.NET Core的新成员TagHelper的使用。

第 6 章 应用的跨平台部署: 以一个例子介绍如何将项目部署到CentOS中,包括Nginx的安装和SSL的申请及设置。

第二部分:解析ASP.NET Core框架的内部处理机制。

7~14章:介绍应用启动过程中都做了哪些准备;

第 7 章 架构概览:从宏观的角度了解ASP.NET Core 的运行机制 以及ASP.NET Core Application的架构。

第 8 章 应用启动:介绍应用启动过程中都干了些什么,一些关键组件是如何被加载的。

第 9 章 后台服务:介绍如何创建一后台服务,应用场景是什么。

第 10 章 依赖注入:介绍ASP.NET Core的依赖注入,在ASP.NET Core中,绝大部分组件都是通过依赖注入提供的。

第 11 章 日志:介绍ASP.NET Core的日志系统,日志的级别,如何写入到文件中。

第 12 章 配置:介绍常见的配置方式以及系统框架对配置的内部处理机制。

第 13 章 配置的Options模式:介绍另一种配置方式,Options模式。

第 14 章 请求处理管道:介绍ASP.NET Core的请求处理管道,这是ASP.NET Core的核心概念之一。

15~20章:介绍应用启动后,收到用户的请求后是如何处理并返回结果的。

第 15 章 静态文件访问与授权:介绍ASP.NET Core对静态文件的处理方式。

第 16 章 路由:介绍Endpoint路由的使用及处理机制。

第 17 章 Action的执行:介绍Action是如何被执行的。

第 18 章 Action参数的映射与模型绑定:介绍请求的参数是如何和Action中的参数一一绑定的,不同类型的参数是如何被处理的。

第 19 章 Filter详解:各种Filter是如何生效的,如何自定义Filter。

第 20 章 控制返回数据格式:如何控制Acton返回的数据类型,涉及到结果的格式转换是如何实现的。

第三部分:案例

第 21 章 项目实践:通过一个项目案例回顾一下本书涉及到的知识,并介绍一下如何在ASP.NET Core中对用户进行认证和授权,Swagger的使用等,是一个ASP.NET Core + 微信小程序 + MongoDB的项目,供读者参考。

 

ASP.NET Core新书终于上市,完成今年一个目标,赠书活动的更多相关文章

  1. 【asp.net core 系列】6 实战之 一个项目的完整结构

    0. 前言 在<asp.net core 系列>之前的几篇文章中,我们简单了解了路由.控制器以及视图的关系以及静态资源的引入,让我们对于asp.net core mvc项目有了基本的认识. ...

  2. 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(中)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 四.创建一个Blazor应用程序 1. 第一种创 ...

  3. 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(下)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  4. 学习ASP.NET Core Blazor编程系列二——第一个Blazor应用程序(完)

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  5. 【Blazor】在ASP.NET Core中使用Blazor组件 - 创建一个音乐播放器

    前言 Blazor正式版的发布已经有一段时间了,.NET社区的各路高手也创建了一个又一个的Blazor组件库,其中就包括了我和其他小伙伴一起参与的AntDesign组件库,于上周终于发布了第一个版本0 ...

  6. Asp.net Core 部署到Azure.cn的一个小问题

    前一段尝试在azure.cn上部署Aps.net Core未成功,报503错误!在网上查到是Azure.cn的问题,未能完美支持Asp.net Core! Asp.net Core发表正式版了,又尝试 ...

  7. 【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)

    HTTP is not just for serving up web pages. It's also a powerful platform for building APIs that expo ...

  8. 学习ASP.NET Core Razor 编程系列二——添加一个实体

    在Razor页面应用程序中添加一个实体 在本篇文章中,学习添加用于管理数据库中的书籍的实体类.通过实体框架(EF Core)使用这些类来处理数据库.EF Core是一个对象关系映射(ORM)框架,它简 ...

  9. [转]【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)

    本文转自:https://www.cnblogs.com/inday/p/6288707.html HTTP is not just for serving up web pages. It’s al ...

随机推荐

  1. MySQL · 性能优化 · MySQL常见SQL错误用法(转自-阿里云云栖社区)

    作者:阿里云云栖社区链接:https://zhuanlan.zhihu.com/p/26043916来源:知乎著作权归作者所有,转载请联系作者获得授权. 前言 MySQL在2016年仍然保持强劲的数据 ...

  2. Fisher Coffee 测评(非严格控温控水)

    Fisher Coffee 测评(非严格控温控水) 咖啡生产批次:2020-05-29 打分区间:1~5,0.5间隔 批次:2020.6.3 酸为主,苦为主. 无甘,有甘,微甘,较甜,甘甜. 不苦,有 ...

  3. Vue中keep-alive组件的理解

    对keep-alive组件的理解 当在组件之间切换的时候,有时会想保持这些组件的状态,以避免反复重渲染导致的性能等问题,使用<keep-alive>包裹动态组件时,会缓存不活动的组件实例, ...

  4. Java多线程_CAS算法和ABA问题

    CAS算法概述CAS是英文单词CompareAndSwap的缩写,中文意思是:比较并替换.CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B. CAS指令执行时,当且仅当内存地址V ...

  5. 自己搭建的集群,启动hadoop时slave节点的datanode没有启起来怎么办?

    自己搭建的集群,启动hadoop 集群是,发现slave节点的datanode没有启动,查了资料发现是因为我在启动集群前,执行了这个命令: hadoop namenode -format 这个指令会重 ...

  6. OI常用数学定理&方法总结

    组合数计算($O(n)$) https://www.cnblogs.com/linzhuohang/p/11548813.html Lucas定理 如果要计算很大的组合数,但模数较小,考虑这个方法 对 ...

  7. vscode 安装go插件失败后,最简单的方法

    vscode 安装go插件 参考: https://github.com/goproxy/goproxy.cn/blob/master/README.zh-CN.md https://goproxy. ...

  8. C言语--冒泡排序

    /* 冒泡排序,从小到大 */ include<stdio.h> int main(void) { int i; int t; int p; int val; int a[6]; for( ...

  9. 用aop去解决事物问题(tx)记录学习之aop1.2

    上一个文章我们了解了什么事aop,以及aop的使用方法,主要是把自己想要加入的通知(advice)加入到我们的方法里, 比如上一章我们说的事把myadvice类中的before方法织入到userser ...

  10. 剑指 Offer 19. 正则表达式匹配

    题目描述 请实现一个函数用来匹配包含'. '和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次).在本题中,匹配是指字符串的所有字符匹配整个模式. ...