日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁(yè)編程開發(fā)ASP.NET → ASP.NET編程中Web頁(yè)面幾種狀態(tài)管理總結(jié)

      ASP.NET編程中Web頁(yè)面幾種狀態(tài)管理總結(jié)

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2012/11/21 8:45:07字體大。A-A+

      作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: Cookie Session

      • 類型:站長(zhǎng)工具大。5KB語(yǔ)言:中文 評(píng)分:7.5
      • 標(biāo)簽:
      立即下載
      4 頁(yè) ApplicationState

      ApplicationState

      應(yīng)用程序狀態(tài)是指采用HttpApplicationState實(shí)現(xiàn)的狀態(tài)維持方式,使用代碼如下:

      Application.Lock();
      Application["PageRequestCount"] = ((int)Application["PageRequestCount"]) + 1;
      Application.UnLock();
      

      對(duì)于這種方法,我不建議使用,因?yàn)椋?br />1. 與使用靜態(tài)變量差不多,直接使用靜態(tài)變量可以不需要字典查找。
      2. 選擇強(qiáng)類型的集合或者變量可以避免裝箱拆箱。

      ViewState,ControlState

      視圖狀態(tài),控件狀態(tài),二者是類似,在頁(yè)面中表現(xiàn)為一個(gè)hidden-input元素:

      <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="......................" />
      

      控件狀態(tài)是ASP.NET 2.0中引入,與視圖狀態(tài)相比,它不允許關(guān)閉。
      由于它們使用方式一致,而且視圖狀態(tài)是基于控件狀態(tài)的實(shí)現(xiàn)邏輯,所以我就不區(qū)分它們了。

      在ASP.NET的早期,微軟為了能幫助廣大開發(fā)人員提高開發(fā)效率,引用入一大批的服務(wù)端控件,并為了能將事件編程機(jī)制引入ASP.NET中,又發(fā)明了ViewState。

      這種方式雖然可以簡(jiǎn)化開發(fā)工作量,然而卻有一些限制和缺點(diǎn):
      1. 視圖狀態(tài)的數(shù)據(jù)只能用于回發(fā)(postback)。
      2. 視圖狀態(tài)的【濫用】容易導(dǎo)致生成的HTML較大,這會(huì)引起一個(gè)惡性循環(huán):
        a. 過大的ViewState在序列化過程中會(huì)消耗較多的服務(wù)器CPU資源,
        b. 過大的ViewState最終生成的HTML輸出也會(huì)很大,它會(huì)浪費(fèi)服務(wù)端網(wǎng)絡(luò)資源,
        c. 過大的ViewState輸出導(dǎo)致表單在下次提交時(shí),會(huì)占用客戶端網(wǎng)絡(luò)資源。
        d. 過大的ViewState數(shù)據(jù)上傳到服務(wù)端后,反序列化又會(huì)消耗較多的服務(wù)器CPU資源。
        因此,整個(gè)交互過程中,用戶一直在等待,用戶體驗(yàn)極差。

      在ASP.NET興起的年代,ViewState絕對(duì)是個(gè)了不起的發(fā)明。
      然而,現(xiàn)在很多關(guān)于ASP.NET性能優(yōu)化的方法中,都會(huì)將【關(guān)閉ViewState】放在頭條位置。
      為什么會(huì)這樣呢,大家可以自己思考一下了。

      有些人認(rèn)為:我現(xiàn)在做的程序只是在局域網(wǎng)內(nèi)使用,使用ViewState完全沒有問題!
      然而,那些人或許沒有想過:
      1. 未來用戶可能會(huì)把它部署在互聯(lián)網(wǎng)上運(yùn)行(對(duì)于產(chǎn)品來說就是遇到大客戶了)。
      2. 項(xiàng)目早期的設(shè)計(jì)與規(guī)劃,對(duì)后期的開發(fā)與維護(hù)來說,影響是巨大的,因?yàn)樵S多基礎(chǔ)部分通常是在早期開發(fā)的。
      當(dāng)這二種情況的任何一種發(fā)生時(shí),想再禁用ViewState,可能已經(jīng)晚了。

      對(duì)于視圖狀態(tài),我認(rèn)為它解決的問題比它引入的問題要多要復(fù)雜,
      因此,我不想花時(shí)間整理它的優(yōu)缺點(diǎn),我只想說一句:把它關(guān)了,在web.config中關(guān)了。

      另外,我不排斥使用服務(wù)器控件,我認(rèn)為:你可以使用服務(wù)端控件顯示數(shù)據(jù),但不要用它處理回發(fā)。

      如果你仍然認(rèn)為視圖狀態(tài)是不可缺少的,那我還是建議你看看ASP.NET MVC框架,看看沒有視圖狀態(tài)是不是照樣可以寫ASP.NET程序。

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)
        推薦文章

        沒有數(shù)據(jù)

        最新文章
          沒有數(shù)據(jù)