簡體   English   中英

ASPX頁面如何變成System.Web.UI.Page?

[英]How do ASPX pages turn into System.Web.UI.Page?

ASP.NET( .aspx )頁面頂部有一個<%@ Page %>聲明,其中包含一個Inherits=""屬性。 ASPX頁面繼承自System.Web.UI.Page聲明式。

我的問題是,什么代碼實際上將aspx頁面轉換為System.Web.UI.Page類的對象? 生命周期中的哪個位置發生,哪個類負責它?

它實際上並不在頁面生命周期中發生。 當您的Page對象作為請求的處理程序被調用時,.aspx已經被解析並且代碼被編譯到底層類中。

何時進行此解析和編譯取決於應用程序的設置。 如果它是“Web站點項目”,則此編譯通常由ASP.Net運行時動態發生,這意味着它在檢測到之前未被請求或已被修改的頁面請求時。

在預編譯的網站中,所有類已經存在,並且沒有發生運行時解析和編譯。

實際執行轉換的類是一個名為PageParser的類。 本質上,ASP.Net運行時調用此類'GetCompiledPageInstance方法,如果頁已經存在於內存中,該方法最終將編譯該頁。

在生命周期方面 - 頁面生命周期嵌套在HttpApplication的“生命周期”中 ,而“生命周期”又是http請求處理管道的一部分。 在頁面進入圖片之前,這個編譯就好了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM