ASP.NET 簡(jiǎn)介

2022-06-27 15:35 更新

簡(jiǎn)介

ASP.NET 是一個(gè) web 開(kāi)發(fā)平臺(tái),它提供編程模型、軟件基礎(chǔ)程序以及多種服務(wù)來(lái)幫助開(kāi)發(fā)者搭建健壯的網(wǎng)絡(luò)應(yīng)用程序。

ASP.NET 工作于 HTTP 協(xié)議之上,并使用 HTTP 命令和政策來(lái)建立瀏覽器到用戶(hù)之間雙向的交流與合作。

ASP.NET 是 Microsoft.NET 平臺(tái)的一部分。ASP.NET 應(yīng)用程序是編譯后的代碼,運(yùn)行在 .Net framework 中,利用可擴(kuò)展和可重用的組件和對(duì)象編寫(xiě)的。

ASP.NET 應(yīng)用程序編碼可以用以下語(yǔ)言編寫(xiě):

  • C#
  • Visual Basic.Net
  • Jscript
  • J#

ASP.NET 用于產(chǎn)生互動(dòng)的、通過(guò)互聯(lián)網(wǎng)數(shù)據(jù)驅(qū)動(dòng)的 web 應(yīng)用程序。它由大量的控件組成,例如:文本框,按鈕,組裝標(biāo)簽,構(gòu)形,以及操控編碼來(lái)創(chuàng)建 HTML 頁(yè)面。

ASP.NET web 表單模型

ASP.NET web 表單延伸了交互作用對(duì) web 應(yīng)用程序的事件驅(qū)動(dòng)模型。瀏覽器提交給 web 服務(wù)器一個(gè) web 表單,然后服務(wù)器返回一個(gè)完整的標(biāo)記頁(yè)面或 HTML 頁(yè)面作為回應(yīng)。

所有客戶(hù)端用戶(hù)活動(dòng)轉(zhuǎn)發(fā)到服務(wù)器進(jìn)行有狀態(tài)的處理。服務(wù)器處理客戶(hù)端動(dòng)作的輸出并觸發(fā)反饋。

現(xiàn)在,HTTP 是一種無(wú)狀態(tài)協(xié)議。ASP.NET 框架幫助儲(chǔ)存有關(guān)應(yīng)用程序狀態(tài)的信息,由以下組成:

  • 頁(yè)狀態(tài)
  • 會(huì)話(huà)狀態(tài)

頁(yè)狀態(tài)是客戶(hù)端狀態(tài),例如:在 web 表單中不同輸入領(lǐng)域的內(nèi)容。會(huì)話(huà)狀態(tài)是由用戶(hù)瀏覽和使用的不同頁(yè)面中獲得的集合信息,例如:整體會(huì)話(huà)狀態(tài)。為了更清楚地了解這個(gè)概念,我們拿購(gòu)物手推車(chē)作為例子。

用戶(hù)在購(gòu)物手推車(chē)中添加項(xiàng)目。項(xiàng)目是在一個(gè)頁(yè)面中所選,叫做項(xiàng)目頁(yè)面,而項(xiàng)目這個(gè)集合的總數(shù)和價(jià)格就會(huì)在不同的頁(yè)面所顯示,叫做購(gòu)物車(chē)頁(yè)面。只有 HTTP 是不能記錄來(lái)自不同頁(yè)面的信息。ASP.NET 會(huì)話(huà)狀態(tài)以及服務(wù)器基礎(chǔ)設(shè)施通過(guò)一個(gè)會(huì)話(huà)記錄全局所收集的信息。

ASP.NET 在生成 ASP.NET runtime編碼的時(shí)候,ASP.NET runtime通過(guò)頁(yè)面請(qǐng)求在服務(wù)器終端送去或拿回頁(yè)面狀態(tài),并且與隱藏領(lǐng)域內(nèi)的服務(wù)端組件狀態(tài)合并。

ASP.NET 用這個(gè)方法,服務(wù)器會(huì)意識(shí)到整體應(yīng)用程序狀態(tài)并以雙層的連接方式進(jìn)行操作。

ASP.NET 組件模型

ASP.NET組件模型提供了 ASP.NET 頁(yè)面的不同的組成部件。基本上它是一個(gè)對(duì)象模型,描述為:

  • 幾乎所有的 HTML 元素或標(biāo)簽,例如<form><input>。
  • 服務(wù)器控件,幫助開(kāi)發(fā)復(fù)雜的用戶(hù)界面。例如:日歷控件或者網(wǎng)絡(luò)視圖控件。

ASP.NET 是一項(xiàng)技術(shù),工作于 .Net 框架,包括所有與網(wǎng)絡(luò)相關(guān)的功能。.NET 框架由一個(gè)面向?qū)ο蟮牡燃?jí)組成。一個(gè) ASP.NET 的 web 應(yīng)用是由頁(yè)面組成。當(dāng)一個(gè)用戶(hù)請(qǐng)求一個(gè) ASP.NET 頁(yè)面,IIS 委派頁(yè)面到 ASP.NET 的運(yùn)行時(shí)系統(tǒng)。

ASP.NET 運(yùn)行時(shí)把 .aspx 頁(yè)面轉(zhuǎn)化成為一個(gè)類(lèi)的實(shí)例,繼承了 .Net 框架的基本類(lèi)頁(yè)面。因此,每一個(gè) ASP.NET 頁(yè)面是一個(gè)對(duì)象,并且其所有組件如服務(wù)器端控件也是對(duì)象。

.Net Framework 3.5 的組件

在進(jìn)入到下一個(gè)關(guān)于 Visual Studio.Net 的部分,我們先來(lái)瀏覽一下 .Net Framework 3.5 的不同組件。以下表格描述了.Net Framework 3.5 的組件和它們所執(zhí)行的工作:

組件及描述
(1)通用語(yǔ)言運(yùn)行環(huán)境或者 CLR
它執(zhí)行內(nèi)存管理、異常處理、調(diào)試、安全檢查、線(xiàn)程執(zhí)行、代碼執(zhí)行、代碼安全、驗(yàn)證和編譯。由 CLR 直接管理的代碼被稱(chēng)為管理代碼。但通過(guò)管理代碼被編譯,編譯器將源代碼轉(zhuǎn)化到一個(gè) CPU 獨(dú)立的中介語(yǔ)言(IL)代碼。實(shí)時(shí)(JIT)編譯器將 IL 代碼編譯成源代碼,特定于 CPU。
(2).Net Framework 類(lèi)庫(kù)
它包含一個(gè)有可重復(fù)使用類(lèi)型的巨大的庫(kù)。類(lèi)、接口、結(jié)構(gòu)、和枚舉值,它們統(tǒng)稱(chēng)為類(lèi)型。
(3)通用語(yǔ)言規(guī)范
它包含對(duì)于 .NET所支持的語(yǔ)言和集成語(yǔ)言實(shí)現(xiàn)的規(guī)范。
(4)通用類(lèi)型系統(tǒng)
它提供了對(duì)于在運(yùn)行時(shí)聲明、使用和管理類(lèi)型和跨語(yǔ)言交流的指導(dǎo)。
(5)元數(shù)據(jù)和程序集
元數(shù)據(jù)是描述程序的二進(jìn)制信息,或者儲(chǔ)存在一個(gè)可執(zhí)行文件內(nèi)(PE),或者儲(chǔ)存在內(nèi)存里。程序集是一個(gè)邏輯單元,由程序集清單、元數(shù)據(jù)類(lèi)型、IL代碼、和一組資源,比如圖片文件組成。
(6)Windows 窗體
Windows 窗體包括在應(yīng)用程序中展示的任何窗口的圖形表示。
(7)ASP.NET 和 ASP.NET AJAX
ASP.NET 是 web 開(kāi)發(fā)模型,AJAX 是對(duì)于 ASP.NET 開(kāi)發(fā)和執(zhí)行 AJAX 功能的一個(gè)延伸。ASP.NET AJAX 包括組件,可以允許開(kāi)發(fā)者更新網(wǎng)頁(yè)上的數(shù)據(jù),并且不用對(duì)頁(yè)面完整地重新下載。
(8)ADO.NET
它是與數(shù)據(jù)和數(shù)據(jù)庫(kù)工作相關(guān)的技術(shù)。它為數(shù)據(jù)源提供通道,例如:SQL 服務(wù)器、OLE DB、XML 等等。ADO.NET 允許連接源數(shù)據(jù)進(jìn)行檢索、操作及數(shù)據(jù)更新。
(9)Windows工作流基礎(chǔ)(WF)
它幫助構(gòu)建在 Windows 中以工作流為基礎(chǔ)的應(yīng)用程序。它包括活動(dòng)、工作流運(yùn)行時(shí)、工作流設(shè)計(jì)和規(guī)則引擎。
(10)Windows 描述基礎(chǔ)
它提供了一個(gè)對(duì)于用戶(hù)界面和業(yè)務(wù)邏輯之間的分離。它通過(guò)使用文檔、媒體、兩維和三維圖形、動(dòng)畫(huà)等等,從而幫助開(kāi)發(fā)具有極強(qiáng)的視覺(jué)沖擊力的界面。
(11)Windows 交流基礎(chǔ)(WCF)
它是用于構(gòu)建和執(zhí)行連接系統(tǒng)的技術(shù)。
(12)Windows CardSpace
它為網(wǎng)絡(luò)上訪(fǎng)問(wèn)資源和分享私人信息提供安全保障。
(13)LINQ
它賦予 .NET 語(yǔ)言數(shù)據(jù)查詢(xún)功能,利用一個(gè)類(lèi)似于傳統(tǒng)查詢(xún)語(yǔ)言 SQL 的句法。
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)