1. 程式人生 > 其它 >Asp.NET Core簡介

Asp.NET Core簡介

2001年,微軟推出了Asp.Net,2009年,推出了Asp.Net MVC .Net Framework,2016年推出了Asp.Net Core .Net Core。因為之前是.NetFramework4.5的版本,最初想命名為.Net5.0,最後定下來為.NetCore。在2019年9月23日,NetCore3.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),這裡不再像以前那樣,什麼都封裝好了,開發者什麼也不知道。封裝的少,東西就少。

每天學習一點點,每天成長一點點。關注我一起學習,共同成長。