C# 狀態(tài)管理
HTTP協(xié)議是無狀態(tài)的。客戶端發(fā)出請求時,從客戶端到服務(wù)器會建立連接,請求完成后,會關(guān)閉連接。但是,通常從一個頁面進(jìn)入另一個頁面時,需要記住一些客戶端信息。這有幾種實現(xiàn)方法。
對于可以保持狀態(tài)的各種方法,主要的區(qū)別是在客戶端還是服務(wù)器端存儲狀態(tài)。下表概述了不同的狀態(tài)管理技術(shù),以及狀態(tài)在多長時間內(nèi)是有效的。
狀態(tài)類型 | 客戶端還是服務(wù)器端的資源 | 有效時間 |
視圖狀態(tài) | 客戶端 | 僅在單個頁面內(nèi)有效 |
cookie | 客戶端 | 瀏覽器關(guān)閉時,將刪除臨時cookie;永久cookie則存儲在客戶 端系統(tǒng)的磁盤上 |
會話 | 服務(wù)器 | 會話狀態(tài)與瀏覽器會話關(guān)聯(lián)在一起。當(dāng)經(jīng)過設(shè)定的超時時間(默 認(rèn)為20分鐘)后,會話將失效 |
應(yīng)用程序 | 服務(wù)器 | 應(yīng)用程序狀態(tài)被所有客戶端共享。在服務(wù)器重啟前,這個狀態(tài) 是有效昨 |
緩存 | 服務(wù)器 | 類似于應(yīng)用程序狀態(tài),緩存也是共享的。開發(fā)人員能控制緩存 什么時候失效 |
點擊加載更多評論>>