ASP.NET 概觀

更新:2007 年 11 月

ASP.NET 是一個已統合的 Web 開發模型,其中包含用最低限度的編碼建置企業級 Web 應用程式所需的服務。ASP.NET 是 .NET Framework 的一部分,在撰寫 ASP.NET 應用程式時,您可以存取 .NET Framework 中的類別。您可以使用任何與 Common Language Runtime (CLR) 相容的語言撰寫應用程式,其中包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。這些語言可以讓您開發受益於 Common Language Runtime、型別安全 (Type Safety)、繼承等的 ASP.NET 應用程式。

ASP.NET 包括:

  • 頁面和控制項架構

  • ASP.NET 編譯器

  • 安全性基礎結構

  • 狀態管理機能

  • 應用程式組態

  • 健康監視和效能功能

  • 偵錯支援

  • XML Web 服務架構

  • 可擴充的裝載環境與應用程式生命週期管理

  • 可擴充的設計工具環境

網頁與控制項架構

ASP.NET 網頁和控制項架構是一種可在 Web 伺服器上執行的程式設計架構,以動態產生和呈現 ASP.NET Web 網頁。可以從瀏覽器或用戶端裝置提出 ASP.NET Web 網頁的要求,而 ASP.NET 會將標記 (例如 HTML) 呈現給提出要求的瀏覽器。通常可以在多個瀏覽器中使用相同的頁面,因為 ASP.NET 會對提出要求的瀏覽器呈現適當的標記。但是,您可以設計自己的 ASP.NET Web 網頁以適用於特定的瀏覽器 (例如 Microsoft Internet Explorer 6),並善用該瀏覽器的功能。ASP.NET 支援可使用 Web 的行動裝置,例如行動電話、掌上型電腦和個人數位助理 (PDA)。

ASP.NET Web 網頁是完全物件導向的網頁。在 ASP.NET Web 網頁內,您可以使用屬性 (Property)、方法和事件來運用 HTML 項目。ASP.NET 網頁架構藉由呈現統一模型以回應在伺服器上執行的程式碼所撰寫之用戶端事件,來移除分隔用戶端和繼承自 Web 應用程式的伺服器之實作細節。此架構也自動維持網頁的狀態,以及在網頁處理生命週期時網頁上的控制項。如需詳細資訊,請參閱 ASP.NET Web 網頁概觀

ASP.NET 網頁和控制項架構也可讓您將通用 UI 功能封裝至易於使用且可重複使用的控制項中。撰寫一次控制項就可以在許多網頁中使用,並且可以在呈現期間將控制項整合到放置它們的 ASP.NET Web 網頁中。

ASP.NET 網頁和控制項架構也會透過主題和面板,提供控制網站整體外觀及操作的功能。可以定義主題與面板,然後套用到網頁層級或是控制層級上。如需詳細資訊,請參閱 ASP.NET 佈景主題和面板概觀

除了主題以外,還可以定義主版頁面 (Master Page),以用於為應用程式中的頁面建立一致的配置。單一的主版頁面會定義您想用於應用程式中所有頁面 (或頁面群組) 的配置和標準行為。然後可以建立個別的內容頁面,其中包含要顯示的頁面專屬內容。當使用者在要求內容頁面時,它們會與主版頁面合併以產生由主版頁面之配置與來自內容頁面之內容結合的輸出。如需詳細資訊,請參閱 ASP.NET 主版頁面概觀

ASP.NET 編譯器

編譯所有 ASP.NET 程式碼,這可達到強式型別、效能最佳化和早期繫結 (Early-Binding) 與其他優點。在編譯程式碼後,Common Language Runtime 會進一步將 ASP.NET 程式碼編譯為機器碼,以提升效能。

ASP.NET 包含一個編譯所有應用程式元件的編譯器,將網頁和控制項包括在 ASP.NET 稍後可以用來服務使用者要求之裝載環境的組件。如需詳細資訊,請參閱 ASP.NET 編譯概觀

安全性的基礎架構

除了 .NET 的安全性功能外,ASP.NET 還提供驗證和授與使用者存取權,以及執行其他安全性相關工作的進階安全性基礎結構。您可以使用 IIS 所提供的 Windows 驗證來驗證使用者,或者透過使用 ASP.NET 表單驗證和 ASP.NET 成員資格的使用者資料庫來管理驗證。此外,也可以使用 Windows 群組管理 Web 應用程式的功能授權和資訊,或者使用 ASP.NET 角色管理自己的自訂角色資料庫。您可以根據應用程式的需求,輕鬆地移除、加入或取代這些配置。如需詳細資訊,請參閱下列主題:

ASP.NET 永遠會以特定的 Windows 識別執行,因此您可以使用 Windows 的功能 (如 NTFS 存取控制清單 (ACL)、資料庫使用權限等等) 保護應用程式的安全。如需 ASP.NET 識別的詳細資訊,請參閱設定 ASP.NET 處理序識別ASP.NET 模擬

狀態管理機能

ASP.NET 會提供內建 (Intrinsic) 狀態管理功能,讓您存放頁面要求之間的資訊,例如客戶資訊或購物車的內容。您可以儲存及管理應用程式專屬、工作階段專屬、頁面專屬、使用者專屬和開發人員定義的資訊。此資訊可獨立於網頁上的任何控制項。

ASP.NET 會提供分散式狀態機能,讓您在一台電腦或數台電腦上,管理相同應用程式之多個執行個體的狀態資訊。如需詳細資訊,請參閱 ASP.NET 狀態管理概觀

ASP.NET 組態

ASP.NET 應用程式會使用組態系統,此系統可讓您定義 Web 伺服器、網站或個別應用程式的組態設定。您可以在部署 ASP.NET 應用程式時產生組態設定,並且在對作業中 Web 應用程式和伺服器產生最小衝擊時加入或修訂組態設定。ASP.NET 組態設定都儲存在以 XML 為主的檔案中。由於這些 XML 檔案都是 ASCII 文字檔,因此很容易對 Web 應用程式進行組態變更。您可以擴充組態配置以符合需求。如需詳細資訊,請參閱 ASP.NET 組態概觀

健康監視和效能功能

ASP.NET 包含可讓您監視 ASP.NET 應用程式之健康和效能的功能。ASP.NET 健康監視能夠報告的主要事件會提供與應用程式健康和錯誤情況相關的資訊。這些事件顯示診斷與監控特性的組合,和針對什麼是記錄與如何記錄兩方面提供高度的彈性。如需詳細資訊,請參閱 ASP.NET 健康監視事件概觀

ASP.NET 支援兩種可存取您應用程式的效能計數器群組:

  • ASP.NET 系統效能計數器群組

  • ASP.NET 應用程式效能計數器群組

如需詳細資訊,請參閱監視 ASP.NET 應用程式效能

偵錯支援

ASP.NET 會利用執行階段偵錯基礎結構,提供跨語言和跨電腦的偵錯支援。您可以偵錯 Managed 和 Unmanaged 物件,以及所有由 Common Language Runtime 支援的語言和指令碼語言。如需詳細資訊,請參閱 ASP.NET 偵錯

此外,ASP.NET 網頁架構還會提供追蹤模式,讓您將檢測訊息插入 ASP.NET Web 網頁中。如需詳細資訊,請參閱 ASP.NET 追蹤的新功能

XML Web Service 架構

ASP.NET 支援 XML Web Service。XML Web 服務是包含商務功能的元件,可讓應用程式使用像是 HTTP 和 XML 訊息這類標準,通過防火牆交換資訊。XML Web Service 並不受特定元件技術或物件呼叫慣例的限制。因此,使用任何語言撰寫、採用任何元件模型,以及在任何作業系統上執行的程式,都可以存取 XML Web Service。如需詳細資訊,請參閱使用 ASP.NET 的 XML Web Service

可擴充的裝載環境與應用程式生命週期管理

從使用者第一次存取應用程式中的資源 (例如頁面) 到應用程式關閉的時候,ASP.NET 都會包含控制應用程式生命週期的可擴充裝載環境。當 ASP.NET 依賴 Web 伺服器 (IIS) 做為應用程式主機時,ASP.NET 本身會提供許多裝載功能。ASP.NET 的架構可讓您回應應用程式事件,並建立自訂 HTTP 處理常式和 HTTP 模組。如需詳細資訊,請參閱 IIS 5.0 和 6.0 的 ASP.NET 應用程式生命週期概觀

可擴充的設計工具環境

ASP.NET 包括可供建立 Web 伺服器控制項之設計工具的增強支援,以便和 Visual Studio 這類視覺化設計工具搭配使用。設計工具可讓您建置控制項的設計階段使用者介面,因此開發人員可以在視覺化設計工具中設定控制項的屬性和內容。如需詳細資訊,請參閱 ASP.NET 控制項設計工具概觀

請參閱

概念

IIS 5.0 和 6.0 的 ASP.NET 應用程式生命週期概觀

ASP.NET Web 網頁概觀