Asp.NET Core簡(jiǎn)介
2001年,微軟推出了Asp.Net ,2009年,推出了Asp.Net MVC .Net Framework,2016年推出了Asp.Net Core .Net Core。因?yàn)橹笆?Net Framework4.5的版本,最初想命名為.Net 5.0,最后定下來(lái)為.Net Core。在2019年9月23日,Net Core3.0正式版發(fā)布了,之前一直是.Net Core3.0預(yù)覽版的。


Asp.Net Core特點(diǎn)
1、跨平臺(tái)的開源的框架
2、Windows、Linux、Mac平臺(tái)運(yùn)行和開發(fā),跨平臺(tái)性
3、性能優(yōu)化,至少3倍
4、可托管在IIS中或者自主主機(jī)托管Kestrel
C#:開發(fā)語(yǔ)言,規(guī)則,進(jìn)行了各種封裝,就成了.Net Frameworkwork的框架
CLR:Common Language RunTime
Framework:是一個(gè)框架,包含了CLR、VS編譯器、BCL(基礎(chǔ)類庫(kù))
.Net Core:主要是Wie了跨平臺(tái),因?yàn)?Net Framework是向下兼容的,所以還做了減重功能。
使用.Net Core創(chuàng)建一個(gè)控制臺(tái)程序

貌似和之前沒什么區(qū)別,但是有沒有注意到上面引用的命名空間,之前默認(rèn)引入一大推的程序集,現(xiàn)在僅引用了System,后面需要什么自己去引用。這是做了減重的功能。
在以往,創(chuàng)建一個(gè)項(xiàng)目,比如MVC項(xiàng)目,會(huì)有一個(gè)web.config文件,去配置一些信息,還會(huì)有一個(gè)Global.asax的全局的文件,還有一個(gè)路由的類。這些,在.Net Core下面全都不存在了。我們?cè)?Net Core2.2下面新建一個(gè).Net Core MVC的項(xiàng)目來(lái)看下。(.Net Core3.0會(huì)有一些不同,后面再去介紹)

wwwroot,這里面放一些靜態(tài)的文件,比如.js文件,.css文件等。appsettings.json文件,代替了之前web.config文件。
web.config是xml文件,是通過ConfigurationManager類型來(lái)進(jìn)行讀取的。
appsettings.json,是鍵值對(duì),通過Xpath語(yǔ)法來(lái)讀取配置文件的數(shù)據(jù)
針對(duì)appsettings.json配置的API設(shè)計(jì)三個(gè)對(duì)象,
它們分別是Configuration、ConfigurationBuilder和ConfigurationProvider。(后面在進(jìn)行詳細(xì)解釋)。
在這里面,多出了兩個(gè)類,Program.cs和Starup.cs,我們來(lái)看看里面有些什么。

Framework下程序從Global開始執(zhí)行,網(wǎng)站寄宿在IIS上,IIS監(jiān)控端口,做轉(zhuǎn)發(fā),有Framework站點(diǎn)做業(yè)務(wù)邏輯處理,響應(yīng)請(qǐng)求。Core,其實(shí)就是一個(gè)控制臺(tái),程序從Main進(jìn)入。
Asp.Net,網(wǎng)站托管子啊IIS,IIS負(fù)責(zé)監(jiān)聽,轉(zhuǎn)發(fā)請(qǐng)求,響應(yīng)客戶端
.Net Core,控制臺(tái),CreateWebHostBuilder(內(nèi)置了服務(wù)器)--啟動(dòng)了服務(wù)器--負(fù)責(zé)監(jiān)聽-轉(zhuǎn)發(fā)請(qǐng)求--響應(yīng)客戶端。
總結(jié):
KestrelServer,跨平臺(tái)的服務(wù)器,IIS只能做反向代理,不再做啥監(jiān)聽。
Asp.Net,不負(fù)責(zé)請(qǐng)求的監(jiān)聽,轉(zhuǎn)發(fā)和響應(yīng),封裝了處理模型,只寫業(yè)務(wù)處理邏輯
Asp .Net Core,是個(gè)控制臺(tái),請(qǐng)求監(jiān)聽,轉(zhuǎn)發(fā)和響應(yīng)都是自己完成的,包括管道模型也是自定義的(中間件MiddleWare),這里不再像以前那樣,什么都封裝好了,開發(fā)者什么也不知道。封裝的少,東西就少。
每天學(xué)習(xí)一點(diǎn)點(diǎn),每天成長(zhǎng)一點(diǎn)點(diǎn)。關(guān)注我一起學(xué)習(xí),共同成長(zhǎng)。

浙公網(wǎng)安備 33010602011771號(hào)