介紹ASP.NET Core框架
在這篇文章中,我將要向你們簡(jiǎn)短介紹一下ASP.NET Core 框架。當(dāng)今社會(huì),當(dāng)提到軟件開發(fā),每個(gè)人都是討論著開源以及跨平臺(tái)開發(fā)。總所周知,微軟是以它的基于Windows產(chǎn)品出名的,比如Windows系統(tǒng),Office辦公套件等。現(xiàn)在我們處在新時(shí)代軟件開發(fā)的潮流中,一個(gè)新的革命性的產(chǎn)品,被微軟推出市場(chǎng),那就是-----ASP.NET Core.作為本文的一部分,我將詳細(xì)述說下面幾點(diǎn)。
- ASP.NET的歷史
- 什么是ASP.NET Core
- ASP.NET Core的特點(diǎn)和優(yōu)點(diǎn)有哪些
- ASP.NET Core中沒有哪些東西
ASP.NET 的歷史
總所周知,ASP.NET是一個(gè)web框架,并且它被用來開發(fā)數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用程序,已經(jīng)好多年了。從那以后,ASP.NET框架,就在穩(wěn)固的更新變革中,現(xiàn)在最新的版本就是ASP.NET Core.
- ASP.NET Core不是ASP.NET Framework的連續(xù)擴(kuò)展,相反,它是從頭到尾,完完全全的一個(gè)新框架。
- ASP.NET Core實(shí)際上是在當(dāng)前ASP.NET Framework上的重寫,但是它更小,更具模塊化。
- 一些人可能認(rèn)為ASP.NET Core在大多數(shù)方面和ASP.NET Framework保持一致,但是這并不完全正確。ASP.NET Core實(shí)際上是在ASP.NET Framework基礎(chǔ)上做的一個(gè)大的根本性改變。
什么是ASP.NET Core
ASP.NET Core是一個(gè)全新的跨平臺(tái)、高性能、輕量級(jí)、開源的框架。它可以用來開發(fā)現(xiàn)代的、聯(lián)網(wǎng)的、基于云的Web應(yīng)用程序、IoT物聯(lián)網(wǎng)、以及WebApIs,ASP.NET Core開發(fā)的這些應(yīng)用可以運(yùn)行在Windows、Linux、或者M(jìn)ac操作系統(tǒng)上。
ASP.NET Core框架是基于.NET Framrwork 4.x的完全重寫,ASP.NET Core改變了.NET Framework的架構(gòu),現(xiàn)在它變得更加模塊化、可擴(kuò)展、開源的、高性能、輕量級(jí)、并且可以跨平臺(tái)。
ASP.NET Core的優(yōu)點(diǎn)和特點(diǎn)
現(xiàn)如今,ASP.NET Core在開發(fā)者中,變得越來越流行,是因?yàn)橄旅鎺讉€(gè)原因,我們來詳細(xì)看看吧:
- 開源的:ASP.NET Core框架是開源的??蚣艿脑创a在:https://github.com/aspnet ,你可以免費(fèi)的下載,甚至如果你還可以修改,編譯成你自己的版本。
- 跨平臺(tái):ASP.NET Core是重新設(shè)計(jì)的框架,它的開發(fā)和部署都是跨平臺(tái)的。我們來討論一下ASP.NET Core跨平臺(tái)的特點(diǎn),并且把它和早期的.NET Framrwork做一個(gè)比較。早期的ASP.NET Framework應(yīng)用程序,僅僅只能運(yùn)行在Windows平臺(tái)上,然而ASP.NET Core可以開發(fā)運(yùn)行在不同的平臺(tái)上,例如:Windows、Mac、或者Linux操作系統(tǒng)上。我們僅僅只能把ASP.NET Framework 4.x的應(yīng)用程序部署在IIS上;然而我們可以在IIS、Nginx、Docker、Apache部署ASP.NET Core應(yīng)用程序,甚至還可以自托管部署。為了開發(fā)ASP.NET Core應(yīng)用程序,你的選擇有很多,你可以選擇使用Visual Studio或者Visual Studio Code等。如果你想,你可以選擇任何第三方的編輯器來開發(fā)ASP.NET Core應(yīng)用程序。
- 對(duì)HTML以及Http請(qǐng)求的完全控制:在ASP.NET Core MVC框架中,你將獲得HTML的完全控制權(quán)。這就意味著,你可以創(chuàng)建從簡(jiǎn)單到復(fù)雜的、帶有CSS樣式的HTML頁面,并且把他們顯示在瀏覽器上。同樣的,你將獲得HTTP請(qǐng)求的完全控制權(quán),這樣就非常簡(jiǎn)單的來創(chuàng)建一個(gè)Ajax請(qǐng)求了;在ASP.NET Core中,你可以很方便的以插件的形式使用客戶端框架,例如JQuery、Bootstrap、React、以及Angular。
- 統(tǒng)一的MVC和Web API框架:ASP.NET Core提供了一個(gè)統(tǒng)一的編程模型,用來開發(fā)Web Apps和Web APIs.這就意味著,一個(gè)Controller類,可以用來處理MVC和Web APIs. 我們?cè)贏SP.NET Core(Web Apps或者Web APIs)中創(chuàng)建的控制器,都是要繼承Controller基類,并且返回IActionResult接口。IActionResult提供了很多的實(shí)現(xiàn),例如JsonResult以及ViewResult等,還有后面要講到的很多,都實(shí)現(xiàn)了IActionResult接口。在ASP.Net Core API應(yīng)用程序中,控制器中的方法,是返回JsonResult.與此同時(shí),在ASP.NET Core Web應(yīng)用程序中,控制中的Action方法返回的是ViewResult.
- 可擴(kuò)展的框架:ASP.NET Core MVC框架是高度可擴(kuò)展的。這意味著,今天你開發(fā)了一個(gè)應(yīng)用程序,以后也很容易擴(kuò)展二次開發(fā)。下面的這些關(guān)鍵特點(diǎn)提供了ASP.NET Core強(qiáng)大的可擴(kuò)展性:
1.視圖組件(View Components)
2.Tag幫助類(Tag Helper)
3.路由(Routing)
接下來的文章中,我將會(huì)一一詳細(xì),討論這些細(xì)節(jié)的,敬請(qǐng)關(guān)注!
6. 依賴注入: 在真實(shí)的應(yīng)用程序中,最重要的設(shè)計(jì)模式之一就是:依賴注入。并且同樣重要的是ASP.NETCore 框架提供了內(nèi)置的依賴注入,我將會(huì)在后面的文章中,帶大家一起來學(xué)習(xí)ASP.NET Core中的依賴注入。
7. 測(cè)試可維護(hù)性:你可以很方便的測(cè)試維護(hù)ASP.NET Core應(yīng)用程序。這是因?yàn)锳SP.NET Core允許你將應(yīng)用程序分成各個(gè)獨(dú)立的部分,并且允許你獨(dú)立的測(cè)試各個(gè)部分。測(cè)試框架例如:xUnit以及MOQ可以很輕松的集成到ASP.NET Core應(yīng)用程序中,進(jìn)行任何模擬測(cè)試。
8. 處理請(qǐng)求響應(yīng)管道:我們可以使用中間件組件,來處理ASP.NET Core應(yīng)用程序中的請(qǐng)求響應(yīng)。在早期的ASP.NET Framework 4.x中,我們通常使用處理程序和模塊來處理請(qǐng)求響應(yīng)管道。ASP.NET Core提供了很多內(nèi)置的中間件組件,我們可以使用這些中間件組件來處理請(qǐng)求響應(yīng)管道。如果你愿意,也可以創(chuàng)建自己的中間件組件,來處理請(qǐng)求響應(yīng)管道。在后面的文章中,我將會(huì)教大家中間件組件的使用,以及在ASP.NET Core中怎么來創(chuàng)建自定義的中間件組件。
什么是ASP.NET Core沒有的東西
如果你是從ASP.NET 4.x過來學(xué)習(xí)這個(gè)系列的人,那么你就會(huì)發(fā)現(xiàn),下面這些在ASP.NET Core中是沒有的:
- Global.asax文件
- Web.config文件
- HTTP Handlers以及HTTP Modules(HTTP 處理程序和HTTP模塊)
- ASP.NET 頁面生命周期模型(ASP.NET Page Life-Cycle model)
在下篇文章中,我將帶領(lǐng)大家,使用Visual Studio創(chuàng)建第一個(gè)ASP.NET Core應(yīng)用程序.這篇文章中,我向大家簡(jiǎn)單介紹了ASP.NET Core框架,希望可以幫到大家。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。