ASP.NET 是一個 web 開發平臺,它提供編程模型、軟件基礎程序以及多種服務來幫助開發者搭建健壯的網絡應用程序。
ASP.NET 工作于 HTTP 協議之上,并使用 HTTP 命令和政策來建立瀏覽器到用戶之間雙向的交流與合作。
ASP.NET 是 Microsoft.NET 平臺的一部分。ASP.NET 應用程序是編譯后的代碼,運行在 .Net framework 中,利用可擴展和可重用的組件和對象編寫的。
ASP.NET 應用程序編碼可以用以下語言編寫:
ASP.NET 用于產生互動的、通過互聯網數據驅動的 web 應用程序。它由大量的控件組成,例如:文本框,按鈕,組裝標簽,構形,以及操控編碼來創建 HTML 頁面。
ASP.NET web 表單延伸了交互作用對 web 應用程序的事件驅動模型。瀏覽器提交給 web 服務器一個 web 表單,然后服務器返回一個完整的標記頁面或 HTML 頁面作為回應。
所有客戶端用戶活動轉發到服務器進行有狀態的處理。服務器處理客戶端動作的輸出并觸發反饋。
現在,HTTP 是一種無狀態協議。ASP.NET 框架幫助儲存有關應用程序狀態的信息,由以下組成:
頁狀態是客戶端狀態,例如:在 web 表單中不同輸入領域的內容。會話狀態是由用戶瀏覽和使用的不同頁面中獲得的集合信息,例如:整體會話狀態。為了更清楚地了解這個概念,我們拿購物手推車作為例子。
用戶在購物手推車中添加項目。項目是在一個頁面中所選,叫做項目頁面,而項目這個集合的總數和價格就會在不同的頁面所顯示,叫做購物車頁面。只有 HTTP 是不能記錄來自不同頁面的信息。ASP.NET 會話狀態以及服務器基礎設施通過一個會話記錄全球所收集的信息。
ASP.NET 在生成 ASP.NET 運行時間編碼的時候,ASP.NET 運行時間通過頁面請求在服務器終端送去或拿回頁面狀態,并且與隱藏領域內的服務端組件狀態合并。
ASP.NET 用這個方法,服務器會意識到整體應用程序狀態并以雙層的連接方式進行操作。
ASP.NET組件模型提供了 ASP.NET 頁面的不同的組成部件。基本上它是一個對象模型,描述為:
<form>
和<input>
。ASP.NET 是一項技術,工作于 .Net 框架,包括所有與網絡相關的功能。.NET 框架由一個面向對象的等級組成。一個 ASP.NET 的 web 應用是由頁面組成。當一個用戶請求一個 ASP.NET 頁面,IIS 委派頁面到 ASP.NET 的運行時系統。
ASP.NET 運行時把 .aspx 頁面轉化成為一個類的實例,繼承了 .Net 框架的基本類頁面。因此,每一個 ASP.NET 頁面是一個對象,并且其所有組件如服務器端控件也是對象。
在進入到下一個關于 Visual Studio.Net 的部分,我們先來瀏覽一下 .Net Framework 3.5 的不同組件。以下表格描述了.Net Framework 3.5 的組件和它們所執行的工作:
組件及描述 |
---|
(1)通用語言運行環境或者 CLR 它執行內存管理、異常處理、調試、安全檢查、線程執行、代碼執行、代碼安全、驗證和編譯。由 CLR 直接管理的代碼被稱為管理代碼。但通過管理代碼被編譯,編譯器將源代碼轉化到一個 CPU 獨立的中介語言(IL)代碼。實時(JIT)編譯器將 IL 代碼編譯成源代碼,特定于 CPU。 |
(2).Net Framework 類庫 它包含一個有可重復使用類型的巨大的庫。類、接口、結構、和枚舉值,它們統稱為類型。 |
(3)通用語言規范 它包含對于 .NET所支持的語言和集成語言實現的規范。 |
(4)通用類型系統 它提供了對于在運行時聲明、使用和管理類型和跨語言交流的指導。 |
(5)元數據和程序集 元數據是描述程序的二進制信息,或者儲存在一個可執行文件內(PE),或者儲存在內存里。程序集是一個邏輯單元,由程序集清單、元數據類型、IL代碼、和一組資源,比如圖片文件組成。 |
(6)Windows 窗體 Windows 窗體包括在應用程序中展示的任何窗口的圖形表示。 |
(7)ASP.NET 和 ASP.NET AJAX ASP.NET 是 web 開發模型,AJAX 是對于 ASP.NET 開發和執行 AJAX 功能的一個延伸。ASP.NET AJAX 包括組件,可以允許開發者更新網頁上的數據,并且不用對頁面完整地重新下載。 |
(8)ADO.NET 它是與數據和數據庫工作相關的技術。它為數據源提供通道,例如:SQL 服務器、OLE DB、XML 等等。ADO.NET 允許連接源數據進行檢索、操作及數據更新。 |
(9)Windows工作流基礎(WF) 它幫助構建在 Windows 中以工作流為基礎的應用程序。它包括活動、工作流運行時、工作流設計和規則引擎。 |
(10)Windows 描述基礎 它提供了一個對于用戶界面和業務邏輯之間的分離。它通過使用文檔、媒體、兩維和三維圖形、動畫等等,從而幫助開發具有極強的視覺沖擊力的界面。 |
(11)Windows 交流基礎(WCF) 它是用于構建和執行連接系統的技術。 |
(12)Windows CardSpace 它為網絡上訪問資源和分享私人信息提供安全保障。 |
(13)LINQ 它賦予 .NET 語言數據查詢功能,利用一個類似于傳統查詢語言 SQL 的句法。 |