最近讀了一些文章,總結一下:程序員
在1999年,當時微軟的windows系統運行的全部的應用程序都是有組件對象模型爲根本基礎開發的,用VB來處理數據訪問和複雜的用戶界面,缺點是不能使用函數指針,由於當時的開發環境開發起來很不輕鬆,全部.NET的出現,變得更好了。編程
.NET 平臺由一個類框架和一個CLR的虛擬機組成,CLR本質上是一個執行環境。CLR上的服務有:內存管理,垃圾回收,異常處理,安全,版本管理,調試和分析。跨語言。windows
CLR上層是語言編譯器和「託管語言」,託管語言是一種對應編譯器的編程語言,編譯器能生成IL代碼供CLR執行.瀏覽器
當時.NET提供了C#強大的語言,用類訪問底層的Windows SDK的不少功能,這些類構建了BCL,隨後出現了ADO.NET WCF WPF,EF,.NET Framework安全
APS.NET,1999年秋,新的Web框架,APS.NET 取代了ASP.ASP.NET框架包含了IIS擴展,可以捕捉傳入的HTTP請求,經過ASP.NET的運行時環境處理它們,運行時,找到請求的特定組件,而後爲瀏覽器準備一個HTTP相應包。運行時的環境的結構就像一個管道,請求進入管道,處理完畢以後,相應被寫回到輸入流中。APS.NET提供一個有狀態的丶基於事件的編程模型,容許隱含的上下文從一個請求傳遞到另外一個請求。固然這種模型只限於HTML和JavaScript。服務器
WebForms設計的主要目標:1:提供一個編程模型,2:將ASP.NET和IIS混合。框架
ASP.NET MVC做爲ASP.NET運行時的一個插件。優勢:選擇其模型處理傳入的請求,容易,快速的創建應用程序,缺點:沒法在框架中創建完成的規範的依賴注入基礎結構。並且輸出只是HTML。編程語言
WebAPI出現,OWIN協議出現,讓Web框架與Web服務器解除耦合的觀念。必須託管到IIS中,這就須要一個ASP.NET應用程序。致使內存量增長,覺得要使用兩個運行時環境。函數
更簡潔的,NET Framework ->.NET Core Framework ,.NET Core Framework移除了應用程序域和代碼訪問安全等,相比優勢:開源,可與應用程序一同部署,而完成.NET Framework 只能安裝到目標機器上。能跨平臺工做。工具
ASP.NET Core
Internet<-->Web服務器(IIS)(Http)<-->內置Web服務器(沒必要要)<->ASP.NET代碼。
.NET Core命令行工具CLI.實際上,它是由主機工具(驅動程序員)運行的 命令,dotnet.exe
想要學好,就必需要知道由來和爲什麼出現。才能只能其做用和用途。-。Dion Esposito