999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

探索ASP.NET的生命周期

2017-05-19 22:27:23湯小波
商情 2017年12期
關(guān)鍵詞:頁面

湯小波

(重慶三峽職業(yè)學院)

【摘要】ASP.NET的生命周期在程序執(zhí)行過程中具有重要意義,本文就應(yīng)用程序的生命周期和web頁面的生命周期進行了深入的分析和探索。

【關(guān)鍵字】生命周期 ASP.NET

ASP.NET的生命周期是一個比較復雜的問題,也是一個比較有深度的問題,它在ASP.NET開發(fā)中有著重要的作用,對于一個合格的ASP.NET程序員,它是必須要了解和掌握的,它包括ASP.NET應(yīng)用程序的生命周期和ASP.NET頁面生命周期,我們將從上述兩個方面來進行深入探討。

1.ASP.NET應(yīng)用程序生命周期

在ASP.NET中,若要對ASP.NET應(yīng)用程序進行初始化并使它處理請求,必須執(zhí)行一些處理步驟,可以把ASP.NET應(yīng)用程序生命周期分為5個階段:

第一階段:用戶從WEB服務(wù)器請求應(yīng)用程序資源。

應(yīng)用程序的生命周期以瀏覽器向Web服務(wù)器發(fā)送請求為起點,當web服務(wù)器接收到請求時,會對所請求文件的擴展名時行檢查,確定應(yīng)由哪個ISAPI擴展處理該請求,然后將該請求傳遞給合適的ISAPI擴展。ASP.NET處理已映射到其上的文件擴展名。

第二階段:ASP.NET接收對應(yīng)用程序的第一個請求。

當ASP.NET接收到對應(yīng)用程序中任何資源和第一個請求時,名為Application Manager的類會創(chuàng)建一個應(yīng)用程序域,它為全局變量提供應(yīng)用程序隔離,并允許單獨卸載每個應(yīng)用程序。

第三階段:為每個請求創(chuàng)建ASP.NET核心對象。

創(chuàng)建了應(yīng)用程序域并對Hosting Environment對象進行實例化之后,ASP.NET將創(chuàng)建并初始化核心對象,如HttpContext、HttpRequest和HttpResponse。HttpRequest對象包含有關(guān)當前請求的信息,包括Cookie和瀏覽器信息,HttpResponse對象包含發(fā)送到客戶端的響應(yīng)。

第四階段:將HttpApplication對象分配給請求。

初始化所有核心應(yīng)用程序?qū)ο笾螅瑢⑼ㄟ^創(chuàng)建HttpApplication類的實例啟動應(yīng)用程序。如果應(yīng)用程序具有Global.asax文件,則ASP.NET會創(chuàng)建Global.asax類的一個實例,并使用該派生類表示應(yīng)用程序。

第五階段:由HttpApplication管線處理請求。

在處理該請求進將由HttpApplication類執(zhí)行相應(yīng)事件。

2、ASP.NET頁面生命周期

ASP.NET頁面運行時,此頁也將經(jīng)歷一個生命周期,在生命周期中將執(zhí)行一系列處理步驟,這些步驟包括初始化、實例化控件、還原和維護狀態(tài)、運行事件處理程序代碼以及進行呈現(xiàn)等。

一般說來,一個ASP.NET頁面要經(jīng)歷如下各個階段。

其一、瀏覽器發(fā)出請求

瀏覽器提出請求發(fā)生在頁面生命周期之前。瀏覽器請求頁面時,ASP.NET將確定是否需要分析和編譯頁,從而開始ASP.NET的生命周期。

其二、頁面框架初始化

ASP.NET在這個階段開始創(chuàng)建頁面,它產(chǎn)生在頁面中用標簽定義的所有控件。Page.Init事件在這個階段將被觸發(fā)。

其三、用戶代碼初始化

Page.Load事件在這個處理階段被觸發(fā),不管是第一次請求還是作為回發(fā)的一部分被請求,Page.Load事件總會觸發(fā)。通過屬性IsPostBack來決定是否是第一次加載。

其四、驗證階段

在驗證期間,將調(diào)用所有驗證程序控件的Validate方法,從而進行數(shù)據(jù)驗證。

其五、事件處理階段

在這階段,頁面被完全裝載且通過驗證。ASP.NET將觸發(fā)在上次回發(fā)后發(fā)生的所有事件,包括立即反映事件和變化事件。

其六、清除階段

在頁面生命周期的最后階段,頁面呈現(xiàn)為HTML。頁面呈現(xiàn)后,真正的清除開始并觸發(fā)Page.UnLoad事件。

通過如下所示圖例可以有效的理解頁面生命周期。

3、演示ASP.NET頁面生命周期

為了能加深對頁面生命周期的理解,下面通過一個模擬示例來演示ASP.NET頁面生命周期。

在項目中新建一頁面PageLoad.aspx,其代碼如下:

<%@ Page Language="C#" %>

(上接131頁)

當頁面第一次加載時,結(jié)果如圖2所示,當點擊確定按鈕時,結(jié)果如圖3所示。

正確理解ASP.NET生命周期和頁面生命周期對于理解ASP.NET程序和執(zhí)行具有很重要的意義,它能解釋很多讓人無法解釋的問題:

其一、內(nèi)置對象如Respons、Request等對象在什么時候創(chuàng)建,怎樣創(chuàng)建,怎樣應(yīng)用就有很好的指導意義;

其二、能正確理解Global.asax文件的類的對象創(chuàng)建和事件的執(zhí)行過程;

其三、ASP.NET頁面從頁面對象生成到消亡的過程;

其四、能更好地理解頁面的環(huán)回機制,頁面的多次回發(fā)的執(zhí)行過程;

其五、能深入理解Page對象的IsPostBack屬性在頁面加載過程中的重要作用;

其六、能解釋Web頁面為什么是無狀態(tài)的,頁面信息為什么在多次回發(fā)過程中信息無法保留。

總之,ASP.NET應(yīng)用程序及頁面的生命周期它是web應(yīng)用程序運行過程中的基石,理解它的產(chǎn)生過程就是理解了web程序的執(zhí)行過程,對于分析和調(diào)試程序具有現(xiàn)實意義。

猜你喜歡
頁面
微信群聊總是找不到,打開這個開關(guān)就好了
大狗熊在睡覺
刷新生活的頁面
在本機中輕松完成常見PDF操作
電腦愛好者(2022年3期)2022-05-30 10:48:04
移動頁面設(shè)計:為老人做設(shè)計
Web安全問答(3)
同一Word文檔 縱橫頁面并存
網(wǎng)站結(jié)構(gòu)在SEO中的研究與應(yīng)用
幾種頁面置換算法的基本原理及實現(xiàn)方法
淺析ASP.NET頁面導航技術(shù)
主站蜘蛛池模板: 国产精品一区二区国产主播| 无码福利视频| 伊人91在线| 国产成人无码AV在线播放动漫| 色网站在线免费观看| 麻豆国产在线观看一区二区| 亚洲成aⅴ人片在线影院八| 99久视频| 亚洲日韩精品欧美中文字幕 | 亚洲中文字幕久久无码精品A| 美女免费黄网站| 精品国产一区二区三区在线观看| 欧美综合一区二区三区| 国产91特黄特色A级毛片| 91啪在线| 婷婷六月在线| 久久久久夜色精品波多野结衣| 2020国产精品视频| 夜夜拍夜夜爽| 性视频久久| 亚洲人视频在线观看| 在线视频97| 综合亚洲网| 欧美一级大片在线观看| 婷婷综合在线观看丁香| 爱爱影院18禁免费| 国产美女叼嘿视频免费看| 九九九久久国产精品| 欧美精品啪啪一区二区三区| 91色国产在线| 国产00高中生在线播放| 正在播放久久| 国产一区二区三区在线观看视频| 国产又粗又猛又爽视频| 99成人在线观看| 亚洲A∨无码精品午夜在线观看| 日本三级欧美三级| 国产96在线 | 亚洲,国产,日韩,综合一区| 美女一级免费毛片| 久久九九热视频| 免费观看国产小粉嫩喷水| 中文字幕在线永久在线视频2020| 91在线播放国产| 美女免费精品高清毛片在线视| 中文字幕无码电影| 久久精品亚洲中文字幕乱码| 一本大道AV人久久综合| 国产黑丝一区| 999福利激情视频| 国产精品视频导航| 国产国产人在线成免费视频狼人色| m男亚洲一区中文字幕| 无码精品国产dvd在线观看9久| 久久精品免费看一| 亚洲一区精品视频在线| 国产菊爆视频在线观看| 波多野结衣中文字幕久久| 第一区免费在线观看| 亚洲午夜福利精品无码不卡| 精品一区二区三区水蜜桃| 色哟哟国产精品| 国产精品一区二区在线播放| 国产亚洲一区二区三区在线| 欧美亚洲香蕉| 99re免费视频| 色呦呦手机在线精品| 日韩毛片视频| 国产丝袜啪啪| 91成人免费观看在线观看| 青青草原国产一区二区| 日韩黄色大片免费看| 人妻无码中文字幕一区二区三区| 午夜福利在线观看入口| 国产成人盗摄精品| 九九热精品在线视频| 999精品视频在线| 91精品情国产情侣高潮对白蜜| 又爽又大又光又色的午夜视频| 亚洲第一网站男人都懂| 专干老肥熟女视频网站| 四虎免费视频网站|