主頁 > 知識(shí)庫 > Asp.net內(nèi)置對(duì)象之Cookies(簡介/屬性方法/基本操作及實(shí)例)

Asp.net內(nèi)置對(duì)象之Cookies(簡介/屬性方法/基本操作及實(shí)例)

熱門標(biāo)簽:同安公安400電話怎么申請(qǐng)流程 申請(qǐng)400電話手續(xù) 預(yù)測式外呼系統(tǒng)使用說明 玉林市機(jī)器人外呼系統(tǒng)哪家好 電話機(jī)器人軟件銷售工作 蘋果手機(jī)凱立德地圖標(biāo)注 南陽外呼系統(tǒng)定制化 百度ai地圖標(biāo)注 合肥電銷外呼系統(tǒng)哪家公司做的好

一、了解Cookies對(duì)象

Cookies是由Web服務(wù)器管理的存放在客戶計(jì)算機(jī)中的一個(gè)數(shù)據(jù)集合。這些數(shù)據(jù)是客戶端、服務(wù)器端相關(guān)的。也就是說客戶瀏覽器每登錄一個(gè)網(wǎng)站,在Cookies中就會(huì)保存客戶瀏覽器與該網(wǎng)站的相關(guān)信息。即使客戶用同一個(gè)瀏覽器登陸了多個(gè)網(wǎng)站,在Cookies中依然會(huì)保存瀏覽器與多個(gè)網(wǎng)站的相關(guān)信息,但Cookies中這些信息的管理是有序的,當(dāng)客戶瀏覽器再次登錄某網(wǎng)站時(shí),只有Cookies中相對(duì)應(yīng)的信息會(huì)發(fā)生作用。

Cookies是Web應(yīng)用程序設(shè)計(jì)的一項(xiàng)很重要的技術(shù),當(dāng)Web服務(wù)器想知道某個(gè)用戶的相關(guān)資料或幾個(gè)ASP.NET文件之間傳送的數(shù)據(jù)時(shí)就可以使用Cookies。

很多網(wǎng)站中的Web應(yīng)用程序都是由多個(gè)ASP.NET文件組成的,為完成某一特定功能,要求在這些ASP.NET文件之間能夠傳送一些參數(shù),這些參數(shù)就可以存為Cookies,這樣當(dāng)文件1想傳送數(shù)據(jù)給文件2時(shí),只要文件1中的數(shù)據(jù)將參數(shù)作為Cookies寫入Cookies.txt文件中,然后文件2再從Cookies.txt文件中將指定名稱的Cookies信息讀出即可。Cookies中信息的寫入工作由Response對(duì)象完成,Cookies信息的讀取工作由Request對(duì)象完成。[在另一篇:Asp.net內(nèi)置對(duì)象之Request對(duì)象中]

二、Cookie對(duì)象的屬性和方法

屬性:
(1).Name:獲取或設(shè)置Cookie的名稱
(2).Value:獲取或設(shè)置Cookie的值
(3).Expires:獲取或設(shè)置Cookie的過期時(shí)間
(4).Version:獲取或設(shè)置Cookie的符合HTTP維護(hù)狀態(tài)的版本

方法:
(1).Add:增加Cookie變量,將指定的cookie保存到Cookies集合中
(2).Clear:清除Cookie集合中變量
(3).Get:通過變量名或索引得到Cookie變量的值
(4).Remove:通過Cookie變量名或索引刪除Cookie對(duì)象

三、Cookie的基本操作

1.創(chuàng)建Cookie對(duì)象并設(shè)置過期時(shí)間

復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
//創(chuàng)建Cookie對(duì)象
HttpCookie mycookie = new HttpCookie("MyCookie");//創(chuàng)建一個(gè)名稱為“MyCookie”的Cookie
mycookie.Value = Server.HtmlEncode("大家好,我是Cookie");//設(shè)置Cookie的值
mycookie.Expires = DateTime.Now.AddDays(10);//設(shè)置Cookie過期時(shí)間
Response.AppendCookie(mycookie);//將一個(gè)HTTP Cookie添加到內(nèi)部Cookie集合中
//Response.Cookies.Add(mycookie);//添加到內(nèi)部Cookie集合中,與上面相同
}

2.獲取Cookie對(duì)象
復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
//獲取Cookie對(duì)象
try
{
HttpCookie mycookie = new HttpCookie("MyCookie");
mycookie.Value = Server.HtmlEncode("Hello,我是Cookie");
mycookie.Expires = DateTime.Now.AddHours(10);
Response.AppendCookie(mycookie);
Response.Write("創(chuàng)建Cookie成功");
Response.Write("hr>");
//----------使用------------
HttpCookie getMyCookie = Request.Cookies["MyCookie"];//獲取Cookie
Response.Write(getMyCookie.Name + getMyCookie.Value + getMyCookie.Expires);//輸出
}
catch
{
Response.Write("Cookie 創(chuàng)建失敗");
}
}

四、實(shí)例:Cookie的寫入和讀取

Response對(duì)象包含一個(gè)Cookies屬性。可以通過Cookies屬性設(shè)置、管理Cookies的信息。如果指定的Cookies不存在則創(chuàng)建該Cookies,如果存在則用新值替換舊值。

Cookie對(duì)象需要利用.NET提供的HttpCookie類重新定義。使用“Response.Cookies.Add”將信息發(fā)送并保存到客戶端的瀏覽器,利用Request對(duì)象提供的方法可以將Cookies信息讀取出來。

如下實(shí)例:

代碼如下:

復(fù)制代碼 代碼如下:

在default1頁面中:
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
//保存cookie信息

HttpCookie c1 = new HttpCookie("user");//HttpCookie類實(shí)例化一個(gè)從cookie對(duì)象,創(chuàng)建并命名新的cookie
c1.Value = "cookie Value"; //設(shè)置單個(gè)cookie的值
Response.Cookies.Add(c1); //將指定的cookie保存到Cookies集合中
Response.Write("script>alert('保存成功!')/script>");

}
protected void Button2_Click(object sender, EventArgs e)
{
//提交頁面
Response.Redirect("Default2.aspx");
}

復(fù)制代碼 代碼如下:

在default2頁面:
protected void Button1_Click(object sender, EventArgs e)
{
//讀取coookie
Response.Write("cookie的名稱(Name):" + Request.Cookies["user"].Name + "br/>");
Response.Write("cookie的值(Value):" + Request.Cookies["user"].Value + "br/>");

}

五、Cookie對(duì)象相比Session、Application的優(yōu)缺點(diǎn)

以下總結(jié)來自:ASP.NET 3.5 開發(fā)技術(shù)大全

相比Session和Application對(duì)象,使用Cookie能持久化保存用戶信息。Cookie保存在客戶端,而Session和Application保存在服務(wù)器端,故Cookie能長久保存。web應(yīng)用程序可以通過獲取客戶端的Cookie來進(jìn)行用戶身份認(rèn)證。

Asp.net包含兩個(gè)Cookie集合,通過HttpRequest的Cookie集合進(jìn)行訪問,Cookie不是Page類的子類,所以使用方法與Session和Application不同,相比于他們Cookie的優(yōu)點(diǎn)如下:

1.可以配置過期時(shí)間
2.簡單:Cookie是一種基于文本的輕量級(jí)結(jié)構(gòu),包括簡單的鍵值對(duì)
3.數(shù)據(jù)持久:因?yàn)楸4娴娇蛻舳?BR>4.無任何服務(wù)器資源:因?yàn)榇鎯?chǔ)在本地客戶端

缺點(diǎn)如下

1.大小限制:
2.不確定性:可能用戶刪除Cookie或者禁用
3.安全風(fēng)險(xiǎn):可偽造修改

最后推薦一篇:Cookies

您可能感興趣的文章:
  • ASP.NET內(nèi)置對(duì)象之Application對(duì)象
  • javascript function、指針及內(nèi)置對(duì)象
  • JavaScript 核心參考教程 內(nèi)置對(duì)象
  • js內(nèi)置對(duì)象 學(xué)習(xí)筆記
  • javascript 基礎(chǔ)篇3 類,回調(diào)函數(shù),內(nèi)置對(duì)象,事件處理
  • jsp內(nèi)置對(duì)象及方法詳細(xì)介紹
  • Asp.net內(nèi)置對(duì)象之Request對(duì)象(概述及應(yīng)用)
  • Asp.net內(nèi)置對(duì)象之Server對(duì)象(概述及應(yīng)用)
  • JSP內(nèi)置對(duì)象:Request和Response的簡單介紹及使用
  • 學(xué)習(xí)Java九大內(nèi)置對(duì)象

標(biāo)簽:南昌 南京 揚(yáng)州 南京 淄博 臺(tái)州 嘉興 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Asp.net內(nèi)置對(duì)象之Cookies(簡介/屬性方法/基本操作及實(shí)例)》,本文關(guān)鍵詞  Asp.net,內(nèi)置,對(duì),象之,Cookies,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Asp.net內(nèi)置對(duì)象之Cookies(簡介/屬性方法/基本操作及實(shí)例)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Asp.net內(nèi)置對(duì)象之Cookies(簡介/屬性方法/基本操作及實(shí)例)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章