ASP.NET與.NET Framework和C#的關係

你好,是我琉憶。

今天我們講一講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跨平台僅限於Android系統和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月底寫完,敬請期待~

如果有需要的小夥伴可以提前預定哦~

預定網址://www.71muke.com/course/info/99

更多編程知識獲取,可以關注公眾號:琉憶編程庫。