开源跨平台的.NET Core,还没上车的赶紧的,来不及解释了……

本系列文章,主要分享一些.NET Core比较优秀的社区资料和微软官方资料。我进行了知识点归类,让大家可以更清晰的学习.NET Core。

首先感谢资料原作者的贡献。

第一篇:.NET Core 学习资料精选:入门

      介绍.NET历史、开源之路、基础、路由、依赖注入、HttpContext、cookie|session、HttpClient、gRPC、单元测试、发布部署等等。

第二篇:.NET Core 学习资料精选:进阶&高级

     

这是第一篇,知识点如图:

.NET 简介

#、.NET 开源之路

.NetFrameWork发展史

C# 语言版本发展史

2014.11月 .NET Core 项目启动,2016.06月 .NET Core 1.0 发布

微软 .NET Core3.0 规划蓝图

.NET Core 3.0 下一个版本命名为:.NET 5

#、.NET Core提供的特性

1.开源、免费

2.轻量级、跨平台

3.组件化、模块化、IOC+Nuget、中间件

4.高性能

5.统一了MVC和WebAPI编程模型

  1. a)  比如:ASP.NET Core 中MVC 和Web API 直接或间接继承同一个基类 ControllerBase,提供可使用的API也一致化

  2. b)  比如:旧ASP.NET时代,写全局filter需要针对MVC 和Web API 分别编写代码,但在ASP.NET Core,直接使用一套中间件代码即可

  3. 6.可测试性

  4. 7.微服务、容器化支持

  5. 8.标准化 .NET API 规范- .NET STANDARD

#、迁移到.NET Core

目前市面上还存在很多传统 .NET 旧项目,我们需要根据公司情况决定是否升级到.NET Core。

如果需要进行旧项目升级的,可以参考文章:《.NET项目迁移到.NET Core操作指南》

VS和.NET Core安装

VS2019安装教学

VS2019正式版注册码秘钥

安装 .NET Core Runtime 和.NET Core SDK

【微软官方文档】ASP.NET Core *.* 个版本新特性

指定要使用的 .NET Core 版本

如何删除 .NET Core 过时的运行时和 SDK

[坑]安装 .Net Core 2.2 SDK后,VS2017依然不能设置core2.2为目标框架

基础

ASP.NET Core开发者路线指南

微软官方 asp.net core 教程文档

.NET Core 命令行接口 (CLI) 工具

.NET Core 运行程序注意事项(dotnet dll 与 dotnet run)

ASP.NET Core API 一览表

查询 NET API 及类库在各版本中实现情况

ASP.NET Core 项目目录结构介绍

ASP.NET Core 程序自定义IP和端口的几种方式

ASP.NET Core 中的Startup类

ASP.NET Core 中使用多个环境(开发、预发布、生产)- 默认为 Production

ASP.NET Core 动作结果(ActionResult)

ASP.NET Core 中控制器操作的多路径返回类型(IActionResult)

.NET Core 3.0 新的 System.Text.Json API

配置

ASP.NET Core 中的配置(json、xml、命令行、环境变量、内存变量等)

ASP.NET Core 中的选项模式

.Net Core 自定义配置源从远程API读取配置(ConfigurationProvider)

迈向现代化的 .Net 配置指北(配置到类自动映射)

路由、模型绑定

ASP.NET Core WebAPI中,Controller标注 [ApiController] 特性,其路由只能使用[route]特性方式

ASP.NET Core MVC 构建可读性更高的ASP.NET Core 路由

ASP.NET Core 中的模型绑定

ASP.NET Core 中的自定义模型绑定(IModelBinder)

ASP.NET Core 中的 URL 重写中间件

依赖注入(IOC、DI)

什么是控制反转,和依赖注入:

控制反转的意思就是:平常我们需要一个类对象的时候需要new出来,而现在我们把new一个类对象的工作交给了IOC容器,当我们需要一个类对象的时候直接向IOC容器要,就可以了,这个就是控制反转。(控制权交个了IOC容器)

依赖注入的意思就是:当我需要一个类对象,IOC容器给我们这个类对象的过程其实就是依赖注入,依赖注入有构造函数注入和属性注入。

[官方]ASP.NET Core 依赖注入

全面理解 ASP.NET Core 依赖注入

官方推荐通过构造函数。这也是所谓的显式依赖。Asp.Net Core 的标准依赖注入容器不支持属性注入。(可以使用autofac或者其他来实现属性注入)

ASP.NET Core 中依赖注入的N种玩法

ASP.NET Core 自定义特性实现属性注入

ASP.NET Core 原生DI实现批量注册

可以参考 OSharp 框架,设计三个全局注入接口,来实现自动化注入:ISingletonDependency 和 ITransientDependency 、 IScopedDependency ( 单例、瞬时、范围)。

ASP.NET Core 中如何注入同一个接口的多个实现

案例1:使用nlog时,想根据需要使用不同的配置文件Nlog.config 写日志时,就可以使用文章中介绍的 Factory 命名注入方案来实现

案例2:使用分布式缓存 IDistributedCache 时,想根据需要在一个项目中同时使用redis和sqlserver

ASP.NET Core 中多个接口对应同一个实现的正确姿势

ASP.NET Core 依赖注入扩展库 Scrutor

[OSharp]使用 IServiceProvider.GetService<T>() 实现按需注入,优化性能

#、ASP.NET Core 集合 Autofac 的使用

AutoFac三种注入方式:按类型、按名称、按键

Asp.Net Core 2.0 之旅---AutoFacIOC容器的使用教程

Asp.Net Core 2.0 之旅---AutoFac仓储泛型的依赖注入(泛型注入)

Asp.Net Core 2.0 之旅---数据访问仓储模式的事务管理(uow+rp)

ASP.NET Core 中使用Autofac实现属性注入的代码片段

ASP.NET Core WebAPI

创建ASP.NET Core Web API (ControllerBase、参数绑定源)

ASP.Net Core WebAPI 几种版本控制对比

使用 Web API 约定

使用 Web API 分析器告警缺失的约定

ASP.NET Core:MVC 与 Razor Pages

ASP.NET Core SignalR 入门

ASP.NET Core MVC 静态文件目录配置与访问授权

新的 Razor 机制

ASP.NET Core Razor SDK

ASP.NET Core 的 Razor 语法参考

ASP.NET Core 中的 Razor 页面介绍(OnGet、OnPost、单页多Handler方式)

ASP.NET Core 中 Razor 页面的IPageFilter

ASP.NET Core 中 Razor 页面的路由和应用约定

ASP.NET Core Razor 配置:预编译,动态编译,混合编译

WebForm & MVC & Razor Pages

[译]ASP.NET:WebForms vs MVC

ASP.NET Core Razor页面 vs MVC

[译]ASP.Net Core 2.0中的Razor Page不是WebForm

ASP.NET Core Razor页面简化了 ASP.NET MVC 应用程序

HttpContext

ASP.NET Core 中访问 HttpContext 的方法

ASP.NET Core 中通过IHttpContextAccessor实现公用静态HttpContext

状态管理

常见方式:Cookie、Session、TempData、查询字符串、HttpContext.Items、缓存、依赖关系注入

ASP.NET Core 中的会话和应用状态

#、session

ASP.NET Core 在通用数据保护条例规则下使用 session

ASP.NET Core 使用Redis存储Session

#、cookie

ASP.NET Core SameSite 设置引起 Cookie 在 QQ 浏览器中不起作用

[github]ASP.NET Core CookieManager

通信

对比 gRPC 服务和 HTTP API 服务

#、HttpClient

ASP.NET Core HttpClient的演进和避坑

ASP.NET Core HttpClient的各种用法、生命周期管理

DotNetCore 使用Http请求及基于 Polly 的处理故障

DotNetCore 中 HttpClientFactory 类源码分析

#、gRPC

ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)

ASP.NET Core gRPC的配置

发布部署

ASP.NET Core 使用 IIS 进行托管部署

ASP.NET Core 部署到 Linux 进行托管

ASP.NET Core 使用Supervisor进行托管部署

ASP.NET Core 使用Docker进行容器化托管

配置 ASP.NET Core 以使用代理服务器和负载均衡器

使用 Nginx 在 Linux 上托管 ASP.NET Core

使用 Apache 在 Linux 上托管 ASP.NET Core

单元测试

.NET Core 和 .NET Standard 单元测试最佳做法

使用 dotnet test 和 xUnit 在 .NET Core 中进行 C# 单元测试

使用 dotnet test 和 NUnit 在 .NET Core 中进行 C# 单元测试

使用 dotnet test 和 MSTest 在 .NET Core 中进行 C# 单元测试

使用 dotnet test --filter 进行选择性单元测试

==============================================================================


.NET Core 学习资料精选:入门相关推荐

  1. .NET Core 学习资料精选:进阶

    2019.09月就要正式发布.NET 3.0了,对于前一篇博文<.NET Core 学习资料精选:入门>大家学的可还开心?这是本系列的第二篇文章:进阶篇,喜欢的园友速度学起来啊. 对于还在 ...

  2. 自然语言处理与机器学习技术博客、学习资料精选[附网盘地址]

    自然语言处理与机器学习技术博客.学习资料精选! 首先,恭喜点开了这篇文章的读者,本文所提供的资料是免费的,小编不卖资料,是赠送资料! 今天咱们的学习社区里有学员提出要推荐一些NLP方面的博客.站点,因 ...

  3. 来领.NET Core学习资料,7天整理了30多个G(适合各阶段.Net开发者)

    干货分享 2020/07/27 大家好,我是CSDN的小黑,2020年的唯一跳槽季,金九银十马上到来,今天这波干货必须学习起来!前后整理了半个月,从零基础到就业,进阶高级开发,走向架构,三阶段核心资料 ...

  4. .Net Core 学习资料

    官方网站:https://www.microsoft.com/net/core#windows 官方文档:https://docs.asp.net/en/latest/intro.html 中文翻译小 ...

  5. 机器学习简易入门-附推荐学习资料

    目录 (1)机器学习正规学习路线 (2)机器学习快速入门 (3)总结 感谢黄海广博士的分享 原创: 机器学习初学者 机器学习初学者 今天 机器学习如何入门?目前没有明确的答案.本站面向广大初学者,推荐 ...

  6. symfony入门学习资料之九:YAML格式介绍

    symfony入门学习资料之九:YAML格式介绍 由于EDUSOHO的项目原因,中断了对symfony框架的继续学习,今天回顾了前面的总结,总结了八节.从建立简单的页面.控制器.路由.模板等,甚至包括 ...

  7. symfony入门学习资料之十:YAML——基本语法

    symfony入门学习资料之十:YAML--基本语法 本节的学习,继续介绍YAML的语法,进一步深入的学习.在symfony框架中,yml格式的文件用的非常普遍,所以在本系列的学习中,要多花些篇幅进行 ...

  8. python免费入门_python入门 2018最新最全学习资料免费获取啦

    是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓? 幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间 ...

  9. 机器学习入门学习资料推荐

    今天介绍一些机器学习的学习资料,主要是分为以下几个方面的内容: 编程语言:实现机器学习,主要是介绍 Python 方面的语言: 书籍:看书通常是入门的一种方法,比较适合自律性强的同学: 视频:入门的第 ...

最新文章

  1. SpringSession(redis)
  2. 【转】CreateWindowEx异常原因汇总
  3. 基于STM32分析栈、堆、全局区、常量区、代码区、RAM、ROM
  4. python pytorch fft_看PyTorch源代码的心路历程
  5. Angular——单页面与路由的使用
  6. SASS+Compass基本使用,结合JavaScript实现随机点名小系统
  7. 信息学奥赛一本通 1130:找第一个只出现一次的字符 | OpenJudge NOI 1.7 02
  8. 5个球放入3个箱子_国内5个经典的美食小吃,吃过3个以上算厉害,你吃过几个?...
  9. jquery获取和设置属性_jQuery获取属性,设置属性,删除属性
  10. 人,人,还是人-对需求、沟通、辅导、会议、改变、学习的狂想
  11. spider_使用随机User-Agent库, 爬取笔趣阁万古天帝章节目录_(fake_useragent)
  12. BZOJ-1069 [SCOI2007]最大土地面积
  13. Wireshark实战分析之IP协议(二)
  14. 10x 程序员工作法 - 总复习 | 重新审视“最佳实践”
  15. java n_javan是什么意思_javan怎么读_javan翻译_用法_发音_词组_同反义词_爪哇人[语]-新东方在线英语词典...
  16. python通过scapy模块进行arp断网攻击
  17. 如何使用md5码验证文件的一致性
  18. ResultSet.TYPE_SCROLL_SENSITIVE到底发生了什么?
  19. java_异常_练习题:处理输入非数字异常和除数为0的异常。
  20. NAND FLASH编程器烧录详解

热门文章

  1. 与protected成员有关的单元测试方式
  2. DM365 使用BT656协议驱动LCD的实现
  3. 利用VC++实现局域网实时传输
  4. 学习笔记(07):Python网络编程并发编程-客户端与服务端代码bug修复
  5. R-CNN detection 运行问题及办法
  6. 基于HALCON的模板匹配方法总结
  7. 列举ospf的5种报文类型_危险品货物各种包装类型以及装箱技巧
  8. python下载文件传到服务器_python实现FTP文件传输的方法(服务器端和客户端)
  9. Redis(1) 简介以及linux环境下的安装
  10. IOS https抓包及10.3.3版本证书不生效问题解决