你好,是我琉憶。
今天我們講一講ASP.NET與.NET Framework和C#的關係。
在開始介紹ASP.NET之前,我們需要先了解以下執行ASP.NET的開發平臺.NET框架。如果你之前學過C#那麼對.NET框架會有一定的瞭解。當你在編寫ASP.NET程式碼時會發現ASP.NET的程式碼和C#相近甚至等同。那麼你一定會有一些疑問。他們三者是什麼關係呢?我們一起來看看。
一.NET Framework
Microsoft.net是2000年6月22日微軟向全世界推出的,全新的軟體開發和服務平臺,目的是向全世界的客戶提供強大的、個性化的網際網路服務。從2002年釋出最初的版本1.0,到2012年正式推出4.5,共經歷了1.0、1.1、2.0、3.0、3.5 、4.0、4.5、4.7八個版本。
.NET的核心就是.NET Framework(.Net框架)是.NET程式開發和執行的環境,在這個平臺下可以用不同的語言進行開發,因為.NET是跨語言的一個平臺。語言可以是C#,F#,Visual Basic.NET等等。JAVA和.NET不同的是java是跨平臺的,不跨語言的。.NET跨平臺僅限於安卓系統和IOS蘋果系統。
1、.NET Framework包含以下兩個主要元件:
CLR:公共語言執行庫(Common Language Runtime),提供內在管理,程式碼安全性檢測等功能。
FLC:.NET框架類庫(.NET Framework Class Library),提供大量應用類庫,類庫中有很執行緒的資源可使用(比如:類、方法、屬性)提高效率。
它的底層結構如圖:
2、公共語言執行時(CLR)
.NET Framework 的核心是其執行庫的執行環境,稱為公共語言執行時(CLR)或.NET執行庫。通常將在CLR的控制下執行的程式碼稱為託管程式碼。
CLR主要負責託管程式碼的編譯和執行。在.NET中程式碼的編譯分為兩個階段:
(1)把原始碼編譯為Microsoft中間語言(MSIL Microsoft Intermediate Language)。
(2)CLR把MSIL編譯為平臺專用的機器程式碼。
3、CLR的結構
CLR的結構由以下三部分組成:
①CLS:公共語言規範,獲取各種語言轉換成統一的語法規範。
②CTS:通用型別系統,將各種語言中的資料型別轉換成統一的型別
③JIT:實時編譯器(即時編譯器)用於將轉換之後的語言編譯為二進位制語言,交給CPU執行。
4、.NET框架類庫(FCL)
.NET框架類庫提供了實現基本功能的類,例如輸入輸出、字串的操作、網路通訊等。
.NET Framework中,所有的名稱空間都是從System的名稱空間形成的。System名稱空間又稱為根名稱空間。對應名稱空間的作用如下圖所示:
【如果你還沒關注我的話,可以點點關注,每天更新文章我通知你。】
二、C#
隨著.NET 平臺的誕生,微軟推出了配合 .NET平臺的應用程式開發語言——C#(C Sharp)。
學習C#語言,能開發什麼樣的程式呢?可以開發的程式如下圖:
C#是一個.NET平臺下的一個程式設計設計語言,僅僅是一個語言。是執行在.NET CLR上的,用於建立應用程式的高階語言。程式設計語言是為了方便開發人員和計算機溝通工具。
C#.NET應用程式編譯步驟如下:
1、使用C#語言編寫應用程式程式碼;
2、把C#源程式編譯為Microsoft中間語言(MSIL Microsoft Intermediate Language),以程式集的形式存在;
3、在執行程式碼時,必須使用JIT編譯器將程式集編譯成本機程式碼;
4、在託管的CLR環境下執行本機程式碼,程式執行結果顯示出來;
三.ASP.NET
ASP.NET 是微軟 .NET 體系提供的 Web開發框架,是網站開發的技術,是.NET框架中的一個應用模型,用於生成基於Web的應用程式的內容豐富的程式設計框架。使用ASP.NET開發Web應用程式並維持其執行,比其他開發語言更加簡單。與Java、PHP和Per等高階技術相比,ASP.NET具有方便性、靈活性、生產效率高、安全性高及物件導向等優點,是目前主流的網路程式設計技術之一。
ASP.NET 支援 3 種開發模式:
1、Web Pages
Web Pages 是開發 ASP.NET 網頁最簡單的開發模式。它提供了一種簡單的方式來將 HTML、CSS、JavaScript 和伺服器指令碼結合起來:
(1) 容易學習,容易理解,容易使用;
(2) 圍繞著單一的網頁建立;
(3) 與 PHP 和經典 ASP 相似;
(4) Visual Basic 或者 C# 的伺服器指令碼;
(5) 全 HTML、CSS 和 JavaScript 控制;
Web Pages 內建了資料庫、視訊、圖形、社交媒體和其他更多的 Web Helpers,因此很容易擴充套件。
這個模組可以單獨開發使用,也可以在MVC中檢視的模板中結合使用。
2、Web Forms
Web Forms 是三種建立 ASP.NET 網站和 Web 應用程式的程式設計模式中的一種。
其他兩種程式設計模式是 Web Pages 和 MVC(Model View Controller 模型-檢視-控制器)。
Web Forms 是最古老的 ASP.NET 程式設計模式,是整合了 HTML、伺服器控制元件和伺服器程式碼的事件驅動網頁。
Web Forms 是在伺服器上編譯和執行的,再由伺服器生成 HTML 顯示為網頁。
Web Forms 有數以百計的 Web 控制元件和 Web 元件用來建立帶有資料訪問的使用者驅動網站。
3、MVC
MVC 是一種使用 MVC(Model View Controller 模型-檢視-控制器)設計建立 Web 應用程式的模式:
(1) Model(模型)表示應用程式核心(比如資料庫記錄列表)。
(2) View(檢視)顯示資料(資料庫記錄)。
(3) Controller(控制器)處理輸入(寫入資料庫記錄)。
MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的完全控制。
企業中普遍用這種開發模式,重點掌握這種開發模式。
四、我寫的書開始預售了!
最近正在寫一本《ASP.NET Web動態網站》開發的書,預計2月底寫完,敬請期待~
如果有需要的小夥伴可以提前預定哦~
預定網址:http://www.71muke.com/course/info/99
更多程式設計知識獲取,可以關注公眾號:琉憶程式設計庫。