.NET Core簡介


這是大佬老A寫的一篇介紹Asp.Net core框架的文章https://www.cnblogs.com/artech/p/inside-asp-net-core-framework.html

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和Starup.cs,我們來看看里面有些什么。

 

 

 Framework下程序從Global開始執行,網站寄宿在IIS上,IIS監控端口,做轉發,有Framework站點做業務邏輯處理,響應請求。Core,其實就是一個控制台,程序從Main進入。

 

 

 Asp.Net,網站托管子啊IIS,IIS負責監聽,轉發請求,響應客戶端

.Net Core,控制台,CreateWebHostBuilder(內置了服務器)--啟動了服務器--負責監聽-轉發請求--響應客戶端。

總結:

KestrelServer,跨平台的服務器,IIS只能做反向代理,不再做啥監聽。

Asp.Net,不負責請求的監聽,轉發和響應,封裝了處理模型,只寫業務處理邏輯

Asp .Net Core,是個控制台,請求監聽,轉發和響應都是自己完成的,包括管道模型也是自定義的(中間件MiddleWare),這里不再像以前那樣,什么都封裝好了,開發者什么也不知道。封裝的少,東西就少。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM