西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

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

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

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

作者:西西點擊:0次評論:0次標簽: Cookie Session

  • 類型:站長工具大。5KB語言:中文 評分:7.5
  • 標簽:
立即下載
5 頁 Session

Session是ASP.NET實現(xiàn)的一種服務端會話技術(shù),它允許我們方便地在服務端保存與用戶有關(guān)的會話數(shù)據(jù)。

我認為Session只有一個優(yōu)點:最簡單的服務端會話實現(xiàn)方式。

缺點:
1. 當mode="InProc"時,容易丟失數(shù)據(jù),為什么?因為網(wǎng)站會因為各種原因重啟。
2. 當mode="InProc"時,Session保存的東西越多,就越占用服務器內(nèi)存,對于用戶在線人數(shù)較多的網(wǎng)站,服務器的內(nèi)存壓力會比較大。
3. 當mode="InProc"時,程序的擴展性會受到影響,原因很簡單:服務器的內(nèi)存不能在多臺服務器間共享。
4. 當采用進程外模式時,在每次請求中,不管你用不用會話數(shù)據(jù),所有的會話數(shù)據(jù)都為你準備好了(反序列化),這其實很是浪費資源的。
5. 如果你沒有關(guān)閉Session,SessionStateModule就一直在工作中,尤其是全采用默認設(shè)置時,會對每個請求執(zhí)行一系列的調(diào)用,浪費資源。
6. 阻塞同一客戶端發(fā)起的多次請求(默認方式)。
7. 無Cookie會話可能會丟失數(shù)據(jù)(重新生成已過期的會話標識符)。

Session的這些缺點也提醒我們:
1. 當網(wǎng)站的在線人數(shù)較多時,一定不要用Session保存較大的對象。
2. 在密集型的AJAX型網(wǎng)站或者大量使用iframe的網(wǎng)站中,要關(guān)注Session可能引起的服務端阻塞問題。
3. 當采用進程外模式時,不需要訪問Session的頁面,一定要關(guān)閉,否則會浪費服務器資源。

如果想了解更多的Session特點,以及我對Session的看法,可以瀏覽我的博客:Session,有沒有必要使用它?

Session的本質(zhì)有二點:
1. SessionId + 服務端字典:服務端字典保存了某個用戶的所有會話數(shù)據(jù)。
2. 用SessionId識別不同的客戶端:SessionId通常以Cookie形式發(fā)送到客戶端。

我認為了解Sesssion本質(zhì)非常有用,因為可以借鑒并實現(xiàn)自己的服務端會話方法。

關(guān)于Session我還想說一點:
有些新手喜歡用Session來實現(xiàn)身份認證功能,這是一種【不正確】的方法。
如果你的ASP.NET應用程序需要身份認證功能,請使用 Forms身份認證 或者 Windows身份認證

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

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

    熱門評論

    最新評論

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

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

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

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