Jayesh Patel、Bryan Acker 和 Robert McGovern
Infusion Development
適用範圍:
Microsoft ASP.NET 2.0
摘要:儘管 ASP.NET 2.0 與 ASP.NET 1.1 完全向後相容,但還是為 ASP.NET 帶來了大量的內部變化,包括代碼模型、編譯、頁面生命週期等的變化。本文將概括介紹這些變化。
本頁內容
引言
代碼模型
編譯
完全運行時編譯(代碼目錄)
頁面生命週期
可擴充性
進階緩衝技術
效能
結論
引言
對於專業的 ASP.NET 開發人員來說,與 ASP.NET 2.0 有關的重要問題是內部發生了哪些變化。儘管新功能很有趣而且學起來很有意思,但對於真正想掌握這一技術的開發人員來說,ASP.NET 核心結構發生的變化才是最吸引他們的地方。在本白皮書中,我們將介紹自版本 1.x 以來,ASP.NET 2.0 內部結構發生了什麼樣的變化。
本白皮書介紹的主題對那些關注效能的開發人員以及尋求如何最佳化應用程式的技術設計師非常有用。具體來說,我們將介紹有關代碼模型、編譯、頁面生命週期、可擴充性、效能和緩衝的主要問題。
本文中的許多樣本要求您對 ASP.NET、Visual Basic .NET 和/或 C# 文法有相當程度的瞭解。本文還在適當的地方提供了參考文檔,就某些特定的主題展開深入的討論。
返回頁首
代碼模型
也許 ASP.NET 2.0 內部工作方式最明顯的變化是 ASP.NET Web 頁面的建立方式的變化。本節將介紹內含代碼模型發生的變化以及這些變化對 ASP.NET 開發的影響。
ASP.NET 1.x 中的代碼模型
在 ASP.NET 1.x 中,供開發人員開發 Web Form的主要選擇有兩個。首先,開發人員可以參照傳統的 ASP 模型並直接在 ASPX 頁面中編寫代碼。此過程稱為“內嵌代碼”,它非常適用於簡單的命令。然而,對於更複雜的代碼而言,編寫內嵌代碼將為讀取混合了表示 (HTML) 和功能(代碼)的 Web 頁面帶來困難。在 ASP.NET 中,為了協助解決這個問題,已更改了預設的編碼方法。您可以在單獨的、只包含代碼的檔案(稱為“內含代碼”檔案)中編寫商務邏輯和事件處理代碼。內含代碼模型將只包含代碼的檔案與包含表示標記的 ASPX 檔案連結起來。通過將代碼與表示相分離,開發小組可以讓設計人員處理示範檔案,而讓開發人員處理代碼檔案,從而提高開發小組的工作效率。
圖1:ASP.NET 1.x 代碼模型
內含代碼模型面臨的主要困難在於如何將內含代碼檔案與 ASPX 頁面保持同步。儘管從編程意義上來講 ASPX 頁面是從內含代碼檔案繼承而來的,但實際上這兩個檔案是通過更複雜的關係聯絡在一起的。