ASP.NET是一個(gè)Web開發(fā)平臺(tái),它提供了一個(gè)編程模型,一個(gè)全面的軟件基礎(chǔ)設(shè)施以及為PC和移動(dòng)設(shè)備構(gòu)建健壯的Web應(yīng)用程序所需的各種服務(wù)。
ASP.NET在HTTP協(xié)議之上工作,并使用HTTP命令和策略來設(shè)置瀏覽器到服務(wù)器的雙向通信和協(xié)作。
ASP.NET是Microsoft .Net平臺(tái)的一部分。ASP.NET應(yīng)用程序是編譯代碼,使用.Net框架中存在的可擴(kuò)展和可重用組件或?qū)ο缶帉憽_@些代碼可以在.Net框架中使用整個(gè)類的層次結(jié)構(gòu)。
ASP.NET應(yīng)用程序代碼可以用以下任何一種語言編寫:
ASP.NET是通過互聯(lián)網(wǎng)產(chǎn)生交互的,數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用程序。它由大量的控件(如文本框,按鈕和標(biāo)簽組成,配置和操作代碼來創(chuàng)建HTML頁面)組成。
ASP.NET Web窗體將事件驅(qū)動(dòng)的交互模型擴(kuò)展到Web應(yīng)用程序。瀏覽器向Web服務(wù)器提交Web表單/窗體,服務(wù)器返回完整的標(biāo)記頁面或HTML頁面作為響應(yīng)。
所有客戶端用戶活動(dòng)會(huì)被轉(zhuǎn)發(fā)到服務(wù)器進(jìn)行有狀態(tài)處理。服務(wù)器處理客戶端操作的輸出并觸發(fā)反應(yīng)。
現(xiàn)在,HTTP是一個(gè)無狀態(tài)的協(xié)議。ASP.NET框架有助于存儲(chǔ)有關(guān)應(yīng)用程序狀態(tài)的信息,其中包括:
頁面狀態(tài)是客戶端的狀態(tài),即web表單中各種輸入字段的內(nèi)容。 會(huì)話狀態(tài)是從用戶訪問和使用的各種頁面(即總體會(huì)話狀態(tài))獲得的集體信息。為了更清楚地理解這個(gè)概念,這里來看看一個(gè)購物車的例子。
用戶將商品項(xiàng)添加到購物車。商品項(xiàng)是從一個(gè)頁面中選擇的,比如商品項(xiàng)的頁面,總收集的商品項(xiàng)目和價(jià)格顯示在不同的頁面上,比如購物車頁面。但是只有HTTP是不能跟蹤來自各種頁面的所有信息的。ASP.NET會(huì)話狀態(tài)和服務(wù)器端基礎(chǔ)結(jié)構(gòu)跟蹤會(huì)話中全局收集的信息。
ASP.NET運(yùn)行時(shí)在生成ASP.NET運(yùn)行時(shí)代碼能同時(shí)跨頁面請求在頁面服務(wù)器之間傳遞頁面狀態(tài),并將服務(wù)器端組件的狀態(tài)合并到隱藏字段中。
這樣,服務(wù)器就會(huì)知道整個(gè)應(yīng)用程序狀態(tài),并以兩層連接的方式運(yùn)行。
ASP.NET組件模型提供了各種ASP.NET頁面的構(gòu)建塊?;旧纤且粋€(gè)對象模型,它描述了:
<form>
和<input>
。Gridview
控件。ASP.NET是一種技術(shù),它在包含所有與Web相關(guān)的功能的.Net框架上工作。 .Net框架由一個(gè)面向?qū)ο蟮膶哟谓Y(jié)構(gòu)組成。ASP.NET Web應(yīng)用程序由頁面組成。當(dāng)用戶請求一個(gè)ASP.NET頁面時(shí),IIS將該頁面的處理委托給ASP.NET運(yùn)行時(shí)系統(tǒng)。
ASP.NET運(yùn)行時(shí)將.aspx
頁面轉(zhuǎn)換為一個(gè)類的實(shí)例,該實(shí)例繼承自.Net框架的基類頁面。 因此,每個(gè)ASP.NET頁面都是一個(gè)對象,即服務(wù)器端控件也是對象。
讓我們來看一下.Net framework 3.5
的各個(gè)組件。下表介紹了.NET Framework 3.5
的組件及負(fù)責(zé)執(zhí)行的工作:
編號 | 組件 | 描述 |
---|---|---|
1 | 公共語言運(yùn)行時(shí)(CLR) | 它執(zhí)行內(nèi)存管理,異常處理,調(diào)試,安全檢查,線程執(zhí)行,代碼執(zhí)行,代碼安全,驗(yàn)證和編譯。 由CLR直接管理的代碼稱為托管代碼。 在編譯托管代碼時(shí),編譯器將源代碼轉(zhuǎn)換為獨(dú)立于CPU的中間語言(IL)代碼。 即時(shí)(JIT)編譯器將IL代碼編譯為CPU特有的本地代碼。 |
2 | .Net框架類庫 | 它包含一個(gè)巨大的可重用類型庫。類,接口,結(jié)構(gòu)和枚舉值,統(tǒng)稱為類型。 |
3 | 通用語言規(guī)范 | 它包含.Net支持的語言的規(guī)范和語言集成的實(shí)現(xiàn)。 |
4 | 通用類型系統(tǒng) | 它提供了在運(yùn)行時(shí)聲明,使用和管理類型以及跨語言通信的指導(dǎo)準(zhǔn)則。 |
5 | 元數(shù)據(jù)和程序集 | 元數(shù)據(jù)是描述程序的二進(jìn)制信息,它存儲(chǔ)在可移植的可執(zhí)行文件(PE)或存儲(chǔ)器中。程序集是由程序集清單,類型元數(shù)據(jù),IL代碼和一組資源(如圖像文件)組成的邏輯單元。 |
6 | Windows窗體 | Windows窗體包含應(yīng)用程序中顯示的任何窗口的圖形表示形式。 |
7 | ASP.NET和ASP.NET AJAX | ASP.NET是Web開發(fā)模型,AJAX是用于開發(fā)和實(shí)現(xiàn)AJAX功能的ASP.NET的擴(kuò)展。 ASP.NET AJAX包含的組件允許開發(fā)人員更新網(wǎng)站上的數(shù)據(jù),而無需重新加載頁面。 |
8 | ADO.NET | 這是用于處理數(shù)據(jù)和數(shù)據(jù)庫的技術(shù)。它提供對數(shù)據(jù)源(如SQL Server,OLE DB,XML等)的訪問。ADO.NET允許連接到數(shù)據(jù)源來檢索,操作和更新數(shù)據(jù)。相關(guān)教程:http://www.yiibai.com/ado.net/ |
9 | Windows工作流(WF) | 它有助于在Windows中構(gòu)建基于工作流的應(yīng)用程序。它包含活動(dòng),工作流運(yùn)行時(shí),工作流設(shè)計(jì)器和規(guī)則引擎。 |
10 | Windows Presentation Foundation(WPF) | 它提供了用戶界面和業(yè)務(wù)邏輯之間的分離。它有助于開發(fā)使用文檔,媒體,二維和三維圖形,動(dòng)畫等視覺震撼界面。 |
11 | Windows通信基礎(chǔ)(WCF) | 這是用于構(gòu)建和執(zhí)行連接系統(tǒng)的技術(shù)。 |
12 | Windows CardSpace | 它提供了在互聯(lián)網(wǎng)上訪問資源和共享個(gè)人信息的安全性。 |
13 | LINQ | 它使用類似于傳統(tǒng)查詢語言SQL的語法將數(shù)據(jù)查詢功能賦予.Net語言。 |