ASP.NET頁(yè)面被預(yù)編為IL,以便在瀏覽器輕輕它是由.NET Framework執(zhí)行,一個(gè)部署的ASP.NET應(yīng)用程序一般在ASP.NET配置文件和資源文件之外只包括前端的ASPX文件和核心對(duì)象DLL,在部署的服務(wù)器上不要求語(yǔ)言(C#,VB.NET等)的后臺(tái)代碼文件,因?yàn)樗鼈円呀?jīng)編譯到一個(gè).NET對(duì)象DLL中了(DLL一般位于ASP.NET應(yīng)用程序的BIN目錄下)。
當(dāng)一個(gè)ASP.NET頁(yè)面被第一次請(qǐng)求時(shí),它被.NET CLR即時(shí)編譯,然后運(yùn)行,這是為什么在編譯ASP.NET頁(yè)面之后第一次執(zhí)行時(shí)會(huì)比較慢的原因,此后,被編譯的頁(yè)面被緩存并用于隨后的請(qǐng)求。
頁(yè)面請(qǐng)求執(zhí)行一系列的主要步驟:頁(yè)面的初始化(Page_Init)、頁(yè)面加載(Page_Load)、控件事件、頁(yè)面卸載事件(Page_PreRender,Page_UnLoad,Dispose).具體如下圖所示:
網(wǎng)上有個(gè)快速記住這個(gè)生命周期的方法:
這樣的組合就是(SILVER:銀),如果是和UnLoad也結(jié)合進(jìn)去就是SILVER—U。
除了這些之外,頁(yè)面請(qǐng)求還觸發(fā)一些應(yīng)用程序級(jí)別的請(qǐng)求事件。如Application_BeginRequest事件,它在所有頁(yè)面請(qǐng)求開(kāi)始觸發(fā)。Application_EndRequest事件,它在所有信息已經(jīng)傳到瀏覽器后觸發(fā)。
聯(lián)系客服