C# 創(chuàng)建ASP.NET Core Web應(yīng)用程序 — 狀態(tài)管理
如前所述,HTTP協(xié)議是無狀態(tài)的,這意味著當服務(wù)器成功響應(yīng)請求后,不會再存儲發(fā)出請求的客戶端的相關(guān)信息。每個請求完成后,將關(guān)閉并忘記連接。但當管理客戶端的多個請求時,常需要存儲和重用關(guān)于客戶端的一些信息。與其他ASP.NET風格一樣,使用HTTP時,可采用多種方式來管理狀態(tài)信息。下表概述了—些狀態(tài)管理技術(shù),以及狀態(tài)的有效時間。
狀態(tài)類型 | 客戶端還是服務(wù)器端資源 | 有效時間 |
TempData | 服務(wù)器 | 應(yīng)用程序讀取數(shù)據(jù)后移除 |
Query Strings | 服務(wù)器和客戶端 | 作為URL元素在客戶端和服務(wù)器端傳遞,只能在單個請求 期間訪問 |
cookie | 客戶端 | 瀏覽器關(guān)閉時將刪除臨時cookie;永久cookie將存儲到客 戶端系統(tǒng)的磁盤上 |
H ttpContext. Items | 服務(wù)器與客戶端 | 在客戶端與服務(wù)器之間傳遞,存儲在HttpContext對象中, 只能在單個請求期間訪問 |
狀態(tài)類型 | 客戶端還是服務(wù)器端資源 | 有效時間 |
Cache | 服務(wù)器 | 與Application狀態(tài)類似,緩存也是共享的。但是,當需要 使緩存失效時,具有更大的控制權(quán) |
Session | 服務(wù)器 | Session狀態(tài)與瀏覽器會話關(guān)聯(lián)在一起。當經(jīng)過配盟好的超 時時間后,會話將失效 |
Application | 服務(wù)器 | Application狀態(tài)在所有客戶端之間共享。在服務(wù)器重啟之 前,這個狀態(tài)一直有效 |
點擊加載更多評論>>