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. 笔记:HTTP协议基础

    一.HTTP协议特点: 简单快速,请求方式有get.post.head 等8种 无连接无状态 支持模式有 B/S(浏览器) C/S(通过websocket去通信) URL,统一资源定位符,在网络中用来 ...

  2. 关于Redis的工作模式

    1.哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master. 缺点 ...

  3. Java 添加条码、二维码到PDF文档

    本文介绍如何通过Java程序在PDF文档中添加条码和二维码.创建条码时,可创建多种不同类型的条码,包括Codebar.Code11.Code128A.Code128B.Code32.Code39.Co ...

  4. 使用vim的妙招

    使用F1执行文件 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器. 我们Linux运维经常在Linux中使用到Vim编辑器,当使用Vim写shell脚本或者python脚本的时候,想要 ...

  5. client-go workqueue demo

    链接地址:https://github.com/kubernetes/client-go [root@wangjq examples]# tree . ├── create-update-delete ...

  6. 手把手教Linux驱动2-之模块参数和符号导出

    通过<手把手教Linux驱动1-模块化编程,玩转module>的学习,我们已经掌握了如何向内核加载一个模块,现在我们学习模块之间如何传递参数. 一.给模块传递参数 当我们加载一个模块到Li ...

  7. 强化学习中的经验回放(The Experience Replay in Reinforcement Learning)

    一.Play it again: reactivation of waking experience and memory(Trends in Neurosciences 2010) SWR发放模式不 ...

  8. Django万能权限框架组件

    业务场景分析 假设我们在开发一个培训机构的 客户关系管理系统,系统分客户管理.学员管理.教学管理3个大模块,每个模块大体功能如下 客户管理 销售人员可以录入客户信息,对客户进行跟踪,为客户办理报名手续 ...

  9. 力扣Leetcode 1518. 换酒问题

    小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒.你购入了 numBottles 瓶酒. 如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的. 请你计算 最多 能喝到多少瓶酒. 示例: ...

  10. oracle备份之备份测试脚本(冷备、热备、rman)

    1.数据库环境 数据库DBID及打开模式SQL> select dbid,open_mode from v$database; DBID OPEN_MODE---------- -------- ...