• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    探索ASP.NET的生命周期

    2017-05-19 22:27:23湯小波
    商情 2017年12期
    關鍵詞:控件瀏覽器實例

    湯小波

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

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

    【關鍵字】生命周期 ASP.NET

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

    1.ASP.NET應用程序生命周期

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

    第一階段:用戶從WEB服務器請求應用程序資源。

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

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

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

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

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

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

    初始化所有核心應用程序對象之后,將通過創(chuàng)建HttpApplication類的實例啟動應用程序。如果應用程序具有Global.asax文件,則ASP.NET會創(chuàng)建Global.asax類的一個實例,并使用該派生類表示應用程序。

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

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

    2、ASP.NET頁面生命周期

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

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

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

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

    其二、頁面框架初始化

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

    其三、用戶代碼初始化

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

    其四、驗證階段

    在驗證期間,將調用所有驗證程序控件的Validate方法,從而進行數據驗證。

    其五、事件處理階段

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

    其六、清除階段

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

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

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

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

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

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

    (上接131頁)

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

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

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

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

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

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

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

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

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

    猜你喜歡
    控件瀏覽器實例
    反瀏覽器指紋追蹤
    電子制作(2019年10期)2019-06-17 11:45:14
    關于.net控件數組的探討
    軟件(2018年7期)2018-08-13 09:44:42
    環(huán)球瀏覽器
    再見,那些年我們嘲笑過的IE瀏覽器
    英語學習(2015年6期)2016-01-30 00:37:23
    完形填空Ⅱ
    完形填空Ⅰ
    就這樣玩會VBA中常見的自定義控件
    電腦迷(2012年24期)2012-04-29 00:44:03
    瀏覽器
    網絡傳播(2009年5期)2009-05-26 06:47:12
    在PowerBuUder中利用WinSock控件制作簡單的Web服務器
    VB.NET中ListBox控件實現流程跟蹤
    集安市| 峡江县| 金湖县| 芷江| 清水县| 灵山县| 丰台区| 尖扎县| 北碚区| 鹤峰县| 永昌县| 顺昌县| 马龙县| 平阳县| 丹棱县| 云龙县| 瓦房店市| 阆中市| 嘉峪关市| 丰县| 高邮市| 祁东县| 西充县| 南汇区| 通许县| 双峰县| 砚山县| 康乐县| 博野县| 安达市| 嘉定区| 辉南县| 忻城县| 信宜市| 天峨县| 潍坊市| 新巴尔虎左旗| 昔阳县| 万盛区| 嵊州市| 安丘市|