你好,是我琉憶。
今天我們講一講ASP.NET與.NET Framework和C#的關(guān)系。
在開始介紹ASP.NET之前,我們需要先了解以下運(yùn)行ASP.NET的開發(fā)平臺.NET框架。如果你之前學(xué)過C#那么對.NET框架會有一定的了解。當(dāng)你在編寫ASP.NET代碼時會發(fā)現(xiàn)ASP.NET的代碼和C#相近甚至等同。那么你一定會有一些疑問。他們?nèi)呤鞘裁搓P(guān)系呢?我們一起來看看。
一.NET Framework
Microsoft.net是2000年6月22日微軟向全世界推出的,全新的軟件開發(fā)和服務(wù)平臺,目的是向全世界的客戶提供強(qiáng)大的、個性化的互聯(lián)網(wǎng)服務(wù)。從2002年發(fā)布最初的版本1.0,到2012年正式推出4.5,共經(jīng)歷了1.0、1.1、2.0、3.0、3.5 、4.0、4.5、4.7八個版本。

.NET的核心就是.NET Framework(.Net框架)是.NET程序開發(fā)和運(yùn)行的環(huán)境,在這個平臺下可以用不同的語言進(jìn)行開發(fā),因為.NET是跨語言的一個平臺。語言可以是C#,F#,Visual Basic.NET等等。JAVA和.NET不同的是java是跨平臺的,不跨語言的。.NET跨平臺僅限于安卓系統(tǒng)和IOS蘋果系統(tǒng)。
1、.NET Framework包含以下兩個主要組件:
CLR:公共語言運(yùn)行庫(Common Language Runtime),提供內(nèi)在管理,代碼安全性檢測等功能。
FLC:.NET框架類庫(.NET? Framework Class Library),提供大量應(yīng)用類庫,類庫中有很線程的資源可使用(比如:類、方法、屬性)提高效率。
它的底層結(jié)構(gòu)如圖:

2、公共語言運(yùn)行時(CLR)
.NET Framework 的核心是其運(yùn)行庫的執(zhí)行環(huán)境,稱為公共語言運(yùn)行時(CLR)或.NET運(yùn)行庫。通常將在CLR的控制下運(yùn)行的代碼稱為托管代碼。
CLR主要負(fù)責(zé)托管代碼的編譯和運(yùn)行。在.NET中代碼的編譯分為兩個階段:
(1)把源代碼編譯為Microsoft中間語言(MSIL Microsoft Intermediate Language)。
(2)CLR把MSIL編譯為平臺專用的機(jī)器代碼。
3、CLR的結(jié)構(gòu)
CLR的結(jié)構(gòu)由以下三部分組成:
①CLS:公共語言規(guī)范,獲取各種語言轉(zhuǎn)換成統(tǒng)一的語法規(guī)范。
②CTS:通用類型系統(tǒng),將各種語言中的數(shù)據(jù)類型轉(zhuǎn)換成統(tǒng)一的類型
③JIT:實時編譯器(即時編譯器)用于將轉(zhuǎn)換之后的語言編譯為二進(jìn)制語言,交給CPU執(zhí)行。
4、.NET框架類庫(FCL)
.NET框架類庫提供了實現(xiàn)基本功能的類,例如輸入輸出、字符串的操作、網(wǎng)絡(luò)通信等。
.NET Framework中,所有的命名空間都是從System的命名空間形成的。System命名空間又稱為根命名空間。對應(yīng)命名空間的作用如下圖所示:

【如果你還沒關(guān)注我的話,可以點點關(guān)注,每天更新文章我通知你。】
二、C#
隨著.NET 平臺的誕生,微軟推出了配合 .NET平臺的應(yīng)用程序開發(fā)語言——C#(C Sharp)。
學(xué)習(xí)C#語言,能開發(fā)什么樣的程序呢?可以開發(fā)的程序如下圖:

C#是一個.NET平臺下的一個編程設(shè)計語言,僅僅是一個語言。是運(yùn)行在.NET CLR上的,用于創(chuàng)建應(yīng)用程序的高級語言。程序設(shè)計語言是為了方便開發(fā)人員和計算機(jī)溝通工具。
C#.NET應(yīng)用程序編譯步驟如下:
1、使用C#語言編寫應(yīng)用程序代碼;
2、把C#源程序編譯為Microsoft中間語言(MSIL Microsoft Intermediate Language),以程序集的形式存在;
3、在執(zhí)行代碼時,必須使用JIT編譯器將程序集編譯成本機(jī)代碼;
4、在托管的CLR環(huán)境下運(yùn)行本機(jī)代碼,程序執(zhí)行結(jié)果顯示出來;
三.ASP.NET
ASP.NET 是微軟 .NET 體系提供的 Web開發(fā)框架,是網(wǎng)站開發(fā)的技術(shù),是.NET框架中的一個應(yīng)用模型,用于生成基于Web的應(yīng)用程序的內(nèi)容豐富的編程框架。使用ASP.NET開發(fā)Web應(yīng)用程序并維持其運(yùn)行,比其他開發(fā)語言更加簡單。與Java、PHP和Per等高級技術(shù)相比,ASP.NET具有方便性、靈活性、生產(chǎn)效率高、安全性高及面向?qū)ο蟮葍?yōu)點,是目前主流的網(wǎng)絡(luò)編程技術(shù)之一。
ASP.NET 支持 3 種開發(fā)模式:
1、Web Pages
Web Pages 是開發(fā) ASP.NET 網(wǎng)頁最簡單的開發(fā)模式。它提供了一種簡單的方式來將 HTML、CSS、JavaScript 和服務(wù)器腳本結(jié)合起來:
(1) 容易學(xué)習(xí),容易理解,容易使用;
(2) 圍繞著單一的網(wǎng)頁創(chuàng)建;
(3) 與 PHP 和經(jīng)典 ASP 相似;
(4) Visual Basic 或者 C# 的服務(wù)器腳本;
(5) 全 HTML、CSS 和 JavaScript 控制;
Web Pages 內(nèi)置了數(shù)據(jù)庫、視頻、圖形、社交媒體和其他更多的 Web Helpers,因此很容易擴(kuò)展。
這個模塊可以單獨開發(fā)使用,也可以在MVC中視圖的模板中結(jié)合使用。
2、Web Forms
Web Forms 是三種創(chuàng)建 ASP.NET 網(wǎng)站和 Web 應(yīng)用程序的編程模式中的一種。
其他兩種編程模式是 Web Pages 和 MVC(Model View Controller 模型-視圖-控制器)。
Web Forms 是最古老的 ASP.NET 編程模式,是整合了 HTML、服務(wù)器控件和服務(wù)器代碼的事件驅(qū)動網(wǎng)頁。
Web Forms 是在服務(wù)器上編譯和執(zhí)行的,再由服務(wù)器生成 HTML 顯示為網(wǎng)頁。
Web Forms 有數(shù)以百計的 Web 控件和 Web 組件用來創(chuàng)建帶有數(shù)據(jù)訪問的用戶驅(qū)動網(wǎng)站。
3、MVC
MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設(shè)計創(chuàng)建 Web 應(yīng)用程序的模式:
(1) Model(模型)表示應(yīng)用程序核心(比如數(shù)據(jù)庫記錄列表)。
(2) View(視圖)顯示數(shù)據(jù)(數(shù)據(jù)庫記錄)。
(3) Controller(控制器)處理輸入(寫入數(shù)據(jù)庫記錄)。
MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的完全控制。
企業(yè)中普遍用這種開發(fā)模式,重點掌握這種開發(fā)模式。
四、我寫的書開始預(yù)售了!
最近正在寫一本《ASP.NET Web動態(tài)網(wǎng)站》開發(fā)的書,預(yù)計2月底寫完,敬請期待~
如果有需要的小伙伴可以提前預(yù)定哦~
預(yù)定網(wǎng)址:71慕課網(wǎng)-精品課程:【村長編寫】14天零基礎(chǔ)到入門搞定ASP.NET Web網(wǎng)頁開發(fā)【書籍】預(yù)售
更多編程知識獲取,可以關(guān)注公眾號:琉憶編程庫。