一、什么是ASP.NET Core
ASP.NET Core是一個跨平臺婶希,高性能的開源框架,用于構(gòu)建現(xiàn)代的见剩、基于云計算的互聯(lián)網(wǎng)應(yīng)用程序杀糯。
使用ASP.NET Core,您可以做到:
?- 構(gòu)建Web應(yīng)用程序和服務(wù)苍苞,物聯(lián)網(wǎng)應(yīng)用程序和移動后端固翰。
?- 在Windows,MacOS和Linux上使用您最喜愛的開發(fā)工具柒啤。
?- 部署到云或本地倦挂。
?- 在.NET Core或.NET Framework上運行畸颅。
二担巩、為什么使用ASP.NET Core?
數(shù)百萬開發(fā)人員已經(jīng)使用(并繼續(xù)使用)ASP.NET 4.x來創(chuàng)建Web應(yīng)用程序没炒。 ASP.NET Core是ASP.NET 4.x的重新設(shè)計涛癌,是更精簡,更模塊化的框架送火。
ASP.NET Core特點:
通過統(tǒng)一的框架構(gòu)建Web UI和Web API
整合了現(xiàn)代的客戶端框架和開發(fā)流程
適用于云的拳话、基于環(huán)境的配置系統(tǒng)
內(nèi)置依賴注入
一個輕量級,高性能种吸,模塊化的HTTP請求管道
能夠在IIS弃衍,Nginx,Apache坚俗,Docker镜盯、Self-Host上進(jìn)行托管
面向.NET Core的side-by-side應(yīng)用程序版本控制
簡化現(xiàn)代Web開發(fā)的工具
能夠在Windows,MacOS和Linux上構(gòu)建和運行
完全開源并以社區(qū)為重點
ASP.NET Core完全以NuGet包的形式提供猖败。這使您可以優(yōu)化您的應(yīng)用程序速缆,只包括必要的NuGet包。實際上恩闻,針對.NET Core的ASP.NET Core 2.x應(yīng)用程序只需要一個NuGet包艺糜。較小的應(yīng)用程序面使其更安全,并減少的不必要的服務(wù)開銷幢尚,提升性能破停。
三、使用ASP.NET Core MVC構(gòu)建Web API和Web UI
ASP.NET Core MVC提供了構(gòu)建Web API和Web應(yīng)用程序的功能:
模型 - 視圖 - 控制器(MVC)模式有助于使您的Web API和Web應(yīng)用程序可測試尉剩。
Razor Pages(ASP.NET Core 2.0中的新增功能)是一個基于頁面的編程模型真慢,可以使構(gòu)建Web UI更加簡單高效。
Razor標(biāo)記為Razor Pages和MVC視圖提供了高效的語法边涕。
標(biāo)簽助手允許服務(wù)器端代碼參與在Razor文件中創(chuàng)建和呈現(xiàn)HTML元素晤碘。
對多種數(shù)據(jù)格式和內(nèi)容協(xié)商的內(nèi)置支持可讓您的Web API訪問廣泛的客戶端褂微,包括瀏覽器和移動設(shè)備。
模型綁定自動將數(shù)據(jù)從HTTP請求映射到操作方法參數(shù)园爷。
模型驗證自動執(zhí)行客戶端和服務(wù)器端驗證宠蚂。
四、客戶端開發(fā)
ASP.NET Core與流行的客戶端框架和庫(包括Angular童社,React和Bootstrap)無縫集成求厕。有關(guān)更多詳細(xì)信息,請參閱客戶端開發(fā)扰楼。