.NET Core简介

Posted taotaozhuanyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET Core简介相关的知识,希望对你有一定的参考价值。

2001年,微软推出了Asp.Net ,2009年,推出了Asp.Net  MVC  .Net Framework,2016年推出了Asp.Net  Core  .Net Core。因为之前是.Net Framework4.5的版本,最初想命名为.Net 5.0,最后定下来为.Net Core。在2019年9月23日,Net Core3.0正式版发布了,之前一直是.Net Core3.0预览版的。

技术图片

 

 

 

技术图片

 

 

Asp.Net Core特点 

  1、跨平台的开源的框架

  2、Windows、Linux、Mac平台运行和开发,跨平台性

  3、性能优化,至少3倍

  4、可托管在IIS中或者自主主机托管Kestrel

C#:开发语言,规则,进行了各种封装,就成了.Net Frameworkwork的框架

CLR:Common Language RunTime

Framework:是一个框架,包含了CLR、VS编译器、BCL(基础类库)

.Net Core:主要是Wie了跨平台,因为.Net Framework是向下兼容的,所以还做了减重功能。

使用.Net Core创建一个控制台程序

技术图片

 

 

 貌似和之前没什么区别,但是有没有注意到上面引用的命名空间,之前默认引入一大推的程序集,现在仅引用了System,后面需要什么自己去引用。这是做了减重的功能。

在以往,创建一个项目,比如MVC项目,会有一个web.config文件,去配置一些信息,还会有一个Global.asax的全局的文件,还有一个路由的类。这些,在.Net Core下面全都不存在了。我们在.Net Core2.2下面新建一个.Net Core MVC的项目来看下。(.Net Core3.0会有一些不同,后面再去介绍)

技术图片

 

 

 wwwroot,这里面放一些静态的文件,比如.js文件,.css文件等。appsettings.json文件,代替了之前web.config文件。

web.config是xml文件,是通过ConfigurationManager类型来进行读取的。

appsettings.json,是键值对,通过Xpath语法来读取配置文件的数据

针对appsettings.json配置的API设计三个对象,

它们分别是Configuration、ConfigurationBuilder和ConfigurationProvider。(后面在进行详细解释)。

在这里面,多出了两个类,Program.cs和Starp.cs,我们来看看里面有些什么。

技术图片

 

 

 Framework下程序从Global开始执行,网站寄宿在IIS上,IIS监控端口,做转发,有Framework站点做业务逻辑处理,响应请求。Core,其实就是一个控制台,程序从Main进入。技术图片

 

 

 Asp.Net,网站托管子啊IIS,IIS负责监听,转发请求,响应客户端

.Net Core,控制台,CreateWebHostBuilder(内置了服务器)--启动了服务器--负责监听-转发请求--响应客户端。

总结:

KestrelServer,跨平台的服务器,IIS只能做反向代理,不再做啥监听。

Asp.Net,不负责请求的监听,转发和响应,封装了处理模型,只写业务处理逻辑

Asp .Net Core,是个控制台,请求监听,转发和响应都是自己完成的,包括管道模型也是自定义的(中间件MiddleWare),这里不再像以前那样,什么都封装好了,开发者什么也不知道。封装的少,东西就少。

 

以上是关于.NET Core简介的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core launch.json 简介

.Net Core简介

.NET平台系列5 .NET Core 简介

.NET Core tasks.json 简介

.Net Core简介

GraphQL in ASP.NET Core 系列视频 - GraphQL简介