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. KNN手写数字识别

    import numpy as np import matplotlib .pyplot as plt from sklearn.neighbors import KNeighborsClassifi ...

  2. 在Unity中检测死循环和卡死

    当游戏在手机/模拟器上卡死,logcat没有日志输出,也没有卡死堆栈信息或者bugly也没有捕获到异常,你是否很焦急?本文介绍一下我们项目中检测Unity卡死的方法,也许适合你使用. 实现原理 在绝大 ...

  3. Tensorflow2(二)tf.data输入模块

    代码和其他资料在 github 一.tf.data模块 数据分割 import tensorflow as tf dataset = tf.data.Dataset.from_tensor_slice ...

  4. 总结java中创建并写文件的5种方式

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files. ...

  5. 【WEB自动化测试之控件定位】基于HTML5控件的唯一控件属性定位

      一.WEB控件定位是什么 要想弄懂这个问题,我们还是基于实践来学习.我们先来看一条入门级别自动化测试用例的构成. DemoCase:正确用户名和密码登录博客园,登录成功 URL: https:// ...

  6. 我对Flutter的第一次失望

    老孟导读:此文翻译自:https://medium.com/@suragch/my-first-disappointment-with-flutter-5f6967ba78bf 我喜欢Flutter. ...

  7. oeasy教你玩转linux010104灵魂之问whatis

    灵魂之问whatis 回忆上节课 我们上次在系统里面乱转

  8. UNITY3D UGUI学习--canvas

    首先从canvas的参数说起走. Canvas Component是UI布局和渲染的抽象空间,所有的UI元素都必须在此组件之下. Render Mode UI的渲染方式,有三种: Screen Spa ...

  9. Django:给requests发送请求功能 套一层衣服。

    个人的疑问

  10. pyqt 设置QTabWidget标签页不可选

    pyqt 设置QTabWidget标签页不可选 for i in range(1,7): self.tabWidget.setTabEnabled(i,False)i-对应标签页的位数