首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 頁面生命週期與 HTTP 處理管線前置處理機制

     編輯:關於ASP.NET

ASP vs ASP.NET 根本差異

  • ASP:逐行解譯執行,以過程為中心。
  • ASP.NET:編譯型、物件導向、類別為基礎。請求先經 HTTP Module → HTTP Handler → 頁面類別實例化。

HTTP 處理管線

  1. 請求進入 IIS → ASP.NET ISAPI 擴充 (aspnet_isapi.dll)。
  2. HTTP Runtime 建立 HttpApplication 實例。
  3. 依序觸發 HttpModule.Init、管線事件 (BeginRequest、AuthenticateRequest...EndRequest)。
  4. URL 重寫、驗證、Session 載入等均在 Module 階段完成。
  5. 對應 HttpHandler (預設 PageHandlerFactory) 建立頁面類別實例。
  6. 頁面生命週期事件 (PreInit→Load→Render→Unload) 執行。

頁面類別結構

// Default.aspx.cs
public class _Default : System.Web.UI.Page
{
    private void Page_Load(object sender, EventArgs e) { ... }
}
// Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_Default" %>
  • .aspx 頁面繼承代碼後置類別 (Inherits 屬性)。
  • 代碼後置類別**必須**繼承 System.Web.UI.Page。

關鍵洞見

ASP.NET 以管線 + 頁面類別雙層架構處理請求,Module 處理橫切關注點,Handler/頁面處理具體業務邏輯,實現關注點分離。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved