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