asp.net頁(yè)面狀態(tài)管理cookie和服務(wù)器狀態(tài)管理Session
更新時(shí)間:2010年09月20日 00:27:11 作者:
Session變量將在服務(wù)器為每個(gè)連接建立一個(gè)字典對(duì)象,使用的是服務(wù)端保存。Cookie可能會(huì)有一個(gè)按照年月日來(lái)判斷的作廢日期,而Session級(jí)別的變量在連接超時(shí)后就作廢
Cookie:是存儲(chǔ)在客戶(hù)端文件系統(tǒng)的文本文件中或客戶(hù)端瀏覽器對(duì)話的客戶(hù)端瀏覽器對(duì)話的內(nèi)存中的少量的數(shù)據(jù)。當(dāng)我們?cè)谠L問(wèn)一個(gè)網(wǎng)站網(wǎng)頁(yè),當(dāng)用戶(hù)請(qǐng)求該網(wǎng)頁(yè)時(shí),應(yīng)用程序會(huì)首先檢查用戶(hù)在此前是否已經(jīng)登錄過(guò),我們可以通過(guò)讀取Cookie獲取用戶(hù)信息來(lái)判斷是否讓它繼續(xù)訪問(wèn)
記錄Cookie信息
創(chuàng)建一個(gè)名稱(chēng)是user的Cookie對(duì)象:HttpCookie cookie=new HttpCookie("user");
給Cookie賦值,只能使用字符串賦值:cookie.Value="chenxiaomei";
如果有多個(gè)字符串需要保存,可以通過(guò)如下方式完成:
cookie["sex"]="女";
cookie.Values.Add("age","18");
讀取Cookie信息
HttpCookie cookie = Request.Cookies["user"];
if (null==cookie)
{
Response.Write("沒(méi)有發(fā)現(xiàn)制定的cookie");
}
else
{
Response.Write("cookie的全部值:" + cookie.Value + "<br/>");
Response.Write("sex值為:" + cookie["sex"] + "<br/>");
Response.Write("age值為:" + cookie["age"] + "<br/>");
}
刪除Cookie
由于Cookie保存在客戶(hù)端,但是可以讓瀏覽器為你刪除Cookie。將Cookie的值設(shè)為過(guò)去的
某個(gè)日期。
cookie.Expires = DateTime.Now.AddHours(-1);
Session對(duì)象
當(dāng)用戶(hù)首次與服務(wù)器建立連接時(shí),他就與這個(gè)服務(wù)器建立了一個(gè)Session,同時(shí)服務(wù)器會(huì)
自動(dòng)為其分配一個(gè)SessionID,用以標(biāo)識(shí)這個(gè)用戶(hù)的唯一身份。
Session的具體操作:
//存儲(chǔ)信息
Session["myname"] = "chenxiaomei";
//獲取信息
string myname = Session["myname"];
//清除session
Session.Clear();//從Session狀態(tài)集合中移除所有的鍵和值
Session.Abandon();//取消當(dāng)前Session會(huì)話
Session和Cookie的區(qū)別:
信息的存儲(chǔ)位置不同,保存的時(shí)間也不同
Cookie是網(wǎng)頁(yè)服務(wù)器存儲(chǔ)在網(wǎng)頁(yè)客戶(hù)端硬盤(pán)上的文本文件。網(wǎng)頁(yè)服務(wù)器向網(wǎng)頁(yè)客戶(hù)端請(qǐng)求存儲(chǔ)一段信息,信息可以保存在Cookie中。之后每當(dāng)客戶(hù)端向服務(wù)器申請(qǐng)一個(gè)頁(yè)面時(shí),就會(huì)將該信息發(fā)回到服務(wù)器。
Session變量將在服務(wù)器為每個(gè)連接建立一個(gè)字典對(duì)象,使用的是服務(wù)端保存。Cookie可能會(huì)有一個(gè)按照年月日來(lái)判斷的作廢日期,而Session級(jí)別的變量在連接超時(shí)后就作廢
記錄Cookie信息
創(chuàng)建一個(gè)名稱(chēng)是user的Cookie對(duì)象:HttpCookie cookie=new HttpCookie("user");
給Cookie賦值,只能使用字符串賦值:cookie.Value="chenxiaomei";
如果有多個(gè)字符串需要保存,可以通過(guò)如下方式完成:
cookie["sex"]="女";
cookie.Values.Add("age","18");
讀取Cookie信息
復(fù)制代碼 代碼如下:
HttpCookie cookie = Request.Cookies["user"];
if (null==cookie)
{
Response.Write("沒(méi)有發(fā)現(xiàn)制定的cookie");
}
else
{
Response.Write("cookie的全部值:" + cookie.Value + "<br/>");
Response.Write("sex值為:" + cookie["sex"] + "<br/>");
Response.Write("age值為:" + cookie["age"] + "<br/>");
}
刪除Cookie
由于Cookie保存在客戶(hù)端,但是可以讓瀏覽器為你刪除Cookie。將Cookie的值設(shè)為過(guò)去的
某個(gè)日期。
cookie.Expires = DateTime.Now.AddHours(-1);
Session對(duì)象
當(dāng)用戶(hù)首次與服務(wù)器建立連接時(shí),他就與這個(gè)服務(wù)器建立了一個(gè)Session,同時(shí)服務(wù)器會(huì)
自動(dòng)為其分配一個(gè)SessionID,用以標(biāo)識(shí)這個(gè)用戶(hù)的唯一身份。
Session的具體操作:
復(fù)制代碼 代碼如下:
//存儲(chǔ)信息
Session["myname"] = "chenxiaomei";
//獲取信息
string myname = Session["myname"];
//清除session
Session.Clear();//從Session狀態(tài)集合中移除所有的鍵和值
Session.Abandon();//取消當(dāng)前Session會(huì)話
Session和Cookie的區(qū)別:
信息的存儲(chǔ)位置不同,保存的時(shí)間也不同
Cookie是網(wǎng)頁(yè)服務(wù)器存儲(chǔ)在網(wǎng)頁(yè)客戶(hù)端硬盤(pán)上的文本文件。網(wǎng)頁(yè)服務(wù)器向網(wǎng)頁(yè)客戶(hù)端請(qǐng)求存儲(chǔ)一段信息,信息可以保存在Cookie中。之后每當(dāng)客戶(hù)端向服務(wù)器申請(qǐng)一個(gè)頁(yè)面時(shí),就會(huì)將該信息發(fā)回到服務(wù)器。
Session變量將在服務(wù)器為每個(gè)連接建立一個(gè)字典對(duì)象,使用的是服務(wù)端保存。Cookie可能會(huì)有一個(gè)按照年月日來(lái)判斷的作廢日期,而Session級(jí)別的變量在連接超時(shí)后就作廢
相關(guān)文章
如何利用IIS調(diào)試ASP.NET網(wǎng)站程序詳解
這篇文章主要給大家介紹了關(guān)于如何利用IIS調(diào)試ASP.NET網(wǎng)站程序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01ASP.NET第一次訪問(wèn)慢的完美解決方案(MVC,Web Api)
這篇文章主要給大家介紹了關(guān)于ASP.NET第一次訪問(wèn)慢的完美解決方案(MVC,Web Api)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ASP.NET具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07ASP.Net WebAPI與Ajax進(jìn)行跨域數(shù)據(jù)交互時(shí)Cookies數(shù)據(jù)的傳遞
本文主要介紹了ASP.Net WebAPI與Ajax進(jìn)行跨域數(shù)據(jù)交互時(shí)Cookies數(shù)據(jù)傳遞的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05ASP.NET MVC自定義授權(quán)過(guò)濾器
這篇文章介紹了ASP.NET MVC自定義授權(quán)過(guò)濾器的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03.NET實(shí)現(xiàn)文件跨服務(wù)器上傳下載的方法
這篇文章主要給大家介紹了.NET文件如何實(shí)現(xiàn)跨服務(wù)器上傳下載的方法,文中通過(guò)圖片介紹的很詳細(xì),相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們可以跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2016-12-12ASP.NET Core MVC基礎(chǔ)學(xué)習(xí)之局部視圖(Partial Views)
這篇文章主要給大家介紹了關(guān)于ASP.NET Core MVC基礎(chǔ)學(xué)習(xí)之局部視圖(Partial Views)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ASP.NET Core MVC具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08