本系列是杨中科2022年最新作品《ASP.NET Core技术内幕与项目实战》及B站配套视频(强插点赞)的精简集,是一个读书笔记。总结和提炼了主要知识点,遵守代码优先原则,以利于快速复习和查询。所以,建议和我一样,先阅读书籍或看B站视频,然后再通过本系列快速的复习知识点。

本系列覆盖了书本中的大多数知识点,但省略了DDD实践这块内容,因为后面要写一个ABP的系列,那个系列对DDD的实践会更加完整一些。我自己是这两个实践对照着学习,我建议大家和我一样,多一些对比,会多出一些思考。同时,本系列增补了书本之外的一些知识点,都是我们在实际开发中会用到的。特别是认证与授权这块,比较复杂,是本系列的深水区,但却是项目实战必须突破的点。这个领域,自己也还在吸引消化中,所以进度会相对慢一些。目录如下,暂无链接的章节,说明还未完成:

一、基础组件

  1. 应用启动WebApplicationBuilder-增补
  2. 依赖注入DependencyInjection
  3. 配置Configuration
  4. 日志ILogger

二、EFCore

  1. LINQ
  2. 基本使用(DbContext/CRUD/Migration)
  3. 导航关系(一对多/一对一/多对多)
  4. 映射配置FluentApi和主键
  5. 集合查询原理IQueryable和IEnumerable
  6. 表达式Expression和Func
  7. 杂项(查询筛选器/原生SQL/并发/状态跟踪)
  8. EFCore7的批量操作-增补
  9. 仓储实现IRepository-增补
  10. EFCore结合Dapper-增补

三、WebApi

  1. WebApi最佳实现
  2. 中间件Middleware
  3. 筛选器filter

四、高级组件

  1. 缓存Cache
  2. 托管服务BackgroundService
  3. 请求数据校验FluentValidation
  4. 消息推送SignalR
  5. 远程调整gRPC-增补

五、DDD准备

  1. DDD基本概念
  2. 贫血模型和充血模型
  3. EFCore中实现充血模型
  4. EFCore中实现值对象
  5. 领域事件MediatR
  6. 集成事件RabbitMQ
  7. 实体映射(DTO/Mapper)-增补

六、认证和授权

  1. 认证Authentication
  2. 授权Authorization
  3. JWT/Session/Cookie
  4. 服务端验证和客户端验证-增补
  5. 角色和用户管理-增补
  6. 声明授权-增补
  7. Auth2-增补
  8. OIDC(OpenID Connect)-增补
  9. IdentityServer4基础-增补
  10. IDS4在WebApi中的应用-增补
  11. IDS4在Blazor中的应用实列-增补
  12. IDS4在MAUI中的应用实例-增补

《ASP.NET Core技术内幕与项目实战》精简集-目录的更多相关文章

  1. 简读《ASP.NET Core技术内幕与项目实战》之3:配置

    特别说明:1.本系列内容主要基于杨中科老师的书籍<ASP.NET Core技术内幕与项目实战>及配套的B站视频视频教程,同时会增加极少部分的小知识点2.本系列教程主要目的是提炼知识点,追求 ...

  2. 快读《ASP.NET Core技术内幕与项目实战》EFCore2.5:集合查询原理揭秘(IQueryable和IEnumerable)

    本节内容,涉及4.6(P116-P130).主要NuGet包:如前述章节 一.LINQ和EFCore的集合查询扩展方法的区别 1.LINQ和EFCore中的集合查询扩展方法,虽然命名和使用完全一样,都 ...

  3. 快读《ASP.NET Core技术内幕与项目实战》WebApi3.1:WebApi最佳实践

    本节内容,涉及到6.1-6.6(P155-182),以WebApi说明为主.主要NuGet包:无 一.创建WebApi的最佳实践,综合了RPC和Restful两种风格的特点 1 //定义Person类 ...

  4. ASP.NET Core 2.0 MVC项目实战

    一.前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的.之前实习时主要是做.NET的B/S架构的项目,主要还是 ...

  5. ASP.NET CORE MVC 2.0 项目中引用第三方DLL报错的解决办法 - InvalidOperationException: Cannot find compilation library location for package

    目前在学习ASP.NET CORE MVC中,今天看到微软在ASP.NET CORE MVC 2.0中又恢复了允许开发人员引用第三方DLL程序集的功能,感到甚是高兴!于是我急忙写了个Demo想试试,我 ...

  6. ASP.NET Core 2.0 : 三. 项目结构

    本章我们一起来对比着ASP.NET Framework版本看一下ASP.NET Core 2.0的项目结构.(此后的文章也尽量这样对比着, 方便学习理解.) 关注差异, 也为项目迁移做准备. 新建项目 ...

  7. ASP.NET Core Web多语言项目

    公司效益好了,准备和国外做生意,这个时候就需要多语言了. > 1. 这是一个ASP.NET Core Web多语言项目,主要展示项目的不同: > 2. 第一种:www.xxx.com/en ...

  8. Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...

  9. ASP.NET Core 2.0 自定义 _ViewStart 和 _ViewImports 的目录位置

    在 ASP.NET Core 里扩展 Razor 查找视图目录不是什么新鲜和困难的事情,但 _ViewStart 和 _ViewImports 这2个视图比较特殊,如果想让 Razor 在我们指定的目 ...

随机推荐

  1. 如何从零开始参与 Apache 顶级开源项目?| 墙裂推荐

    ​ 写在开头 从 2021 开始,有一个很有意思的说法经常在各大技术媒体或开源论坛中出现,「开源正在吞噬一切」.不论是否言过其实,从一个行业从业者的切身感知来看,开源确实从少数极客的小众文化成为主流的 ...

  2. session 总结

    session 总结(单节点场景) session 称作域对象,一般保存在当前服务器的内存中,如果有很多session也会部分不常用的session"钝化"到磁盘中,若磁盘中的se ...

  3. Windows 10 Technical Preview 屏幕亮度

    下载了  Windows 10 Technical Preview 安装好之后都挺正常的,就是显卡驱动没有, 联上网络, 自动找到驱动,看起来一切都挺好的. 但是重启之后,屏幕就变得特别暗了, 亮 ...

  4. 宝塔搭建的nginx如何只允许指定IP访问--nginx如何允许指定IP访问,nginx开发者调试模式

    我的博客,向来都是简洁.有用为主,转载请注明出处. 说白了就是往nginx配置文件中加两句话 allow 127.0.0.1; deny all; 允许127.0.0.1访问 然后拒绝其他连接,返回4 ...

  5. Django 创建 APP和目录结构介绍

    一.通过pip安装Django 以windows 系统中使用pip命令安装为例 win+r,调出cmd,运行命令:pip install django自动安装PyPi 提供的最新版本.指定版本,可使用 ...

  6. MySQL8.0报错:Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

    MySQL8.0.16版本中新增了一个system_user帐户类型,当新增用户并赋予权限时 mysql> create user 'proxysql'@'192.168.20.%' ident ...

  7. Beats: Filebeat和pipleline processors

    简要来说: 使用filebeat读取log日志,在filebeat.yml中先一步处理日志中的个别数据,比如丢弃某些数据项,增加某些数据项. 按照之前的文档,是在filebeat.yml中操作的,具体 ...

  8. 13. Fluentd输出插件:in_forward用法详解

    in_forward插件通常用于从其他节点接收日志事件,这些节点包括其他Fluentd实例.fluent-cat命令行或者Fluentd客户端程序.这是目前效率最高的日志事件接收方法. in_forw ...

  9. python-函数-统计函数

    #(1)amax(),amin() 作用:计算数组中的元素沿指定轴的最大值,最小值 import numpy as np x = np.random.randint(1,11,9).reshape(( ...

  10. 市面上erp软件那么多,为什么很多卖家选择定制erp?

    为什么选择定制ERP?适合自己的才是最好的啊!就连头部ERP企业提供给用户的ERP系统,应该也没有不进行个性化定制的吧,匹配很重要!规模不同.行业不同.发展阶段不同.生产模式不同.管理理念不同,适用的 ...