ASP.NET 是微軟 ASP 技術的下一代產品,非單純升級而是從底層重寫。本文系統整理 ASP 基礎概念、ASP.NET 架構優勢、.NET Framework 核心組件、開發環境與語言支援,為初學者建立完整知識地圖。
| 項目 | 說明 |
|---|---|
| 全名 | Active Server Pages |
| 本質 | 伺服器端腳本技術,嵌入 HTML 中執行 |
| 執行環境 | IIS (Internet Information Services) |
| 檔案副檔名 | .asp |
| 處理流程 | 瀏覽器請求 → IIS 傳遞 ASP 引擎 → 逐行執行腳本 → 純 HTML 回傳 |
| 相關技術 | PWS (Personal Web Server) - Win 95/98 輕量版 IIS |
.NET Framework
├─ Common Language Runtime (CLR)
│ ├─ 記憶體管理 (GC)
│ ├─ 程式碼存取安全性 (CAS)
│ ├─ 例外處理、執行緒、互通性
│ └─ JIT 編譯 (IL → 原生機器碼)
├─ Framework Class Library (FCL)
│ ├─ ASP.NET (Web 應用/服務)
│ ├─ ADO.NET (資料存取)
│ ├─ Windows Forms (桌面應用)
│ ├─ XML、IO、Collections、Networking...
│ └─ Base Class Library (BCL) 核心類型
└─ 語言整合
├─ C# (首選、ECMA 標準)
├─ Visual Basic .NET
├─ Managed C++
├─ JScript .NET
└─ 20+ 第三方語言 (F#, IronPython, Cobol...)
| 特性 | ASP | ASP.NET |
|---|---|---|
| 程式模型 | 程序式、線性執行 | 事件驅動、物件導向 |
| 語言 | VBScript/JScript (解譯) | C#/VB.NET (編譯至 IL) |
| 效能 | 逐行解譯 | JIT 編譯、快取組件 |
| 狀態管理 | 手工 Session/Cookie | ViewState、ControlState、Cache |
| 錯誤處理 | `On Error Resume Next` | 結構化 `try/catch/finally` |
| 部署 | 複製 .asp 檔 | 預編譯組件、XCOPY 部署 |
| 除錯 | 極難 | VS 完整偵錯支援 |
ASP.NET 從 2002 年 1.0 版至今已演進超過二十年,雖 WebForms 逐漸退出歷史舞台,但其**編譯模型、元件化、事件驅動、CLR 整合**等核心創新,深刻影響了後續所有 .NET Web 技術演進。理解這段歷史與架構,是成為資深 .NET 開發者的必修課。