日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Asp.net内置对象之Cookies

發布時間:2025/7/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.net内置对象之Cookies 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、了解Cookies對象

Cookies是由Web服務器管理的存放在客戶計算機中的一個數據集合。這些數據是客戶端、服務器端相關的。也就是說客戶瀏覽器每登錄一個網站, 在Cookies中就會保存客戶瀏覽器與該網站的相關信息。即使客戶用同一個瀏覽器登陸了多個網站,在Cookies中依然會保存瀏覽器與多個網站的相關 信息,但Cookies中這些信息的管理是有序的,當客戶瀏覽器再次登錄某網站時,只有Cookies中相對應的信息會發生作用。

Cookies是Web應用程序設計的一項很重要的技術,當Web服務器想知道某個用戶的相關資料或幾個ASP.NET文件之間傳送的數據時就可以使用Cookies。

很多網站中的Web應用程序都是由多個ASP.NET文件組成的,為完成某一特定功能,要求在這些ASP.NET文件之間能夠傳送一些參數,這些參 數就可以存為Cookies,這樣當文件1想傳送數據給文件2時,只要文件1中的數據將參數作為Cookies寫入Cookies.txt文件中,然后文 件2再從Cookies.txt文件中將指定名稱的Cookies信息讀出即可。Cookies中信息的寫入工作由Response對象完 成,Cookies信息的讀取工作由Request對象完成。

二、Cookie對象的屬性和方法

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

?

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

三、Cookie的基本操作

1.創建Cookie對象并設置過期時間

1 protected void Page_Load(object sender, EventArgs e) 2 { 3 //創建Cookie對象 4 HttpCookie mycookie = new HttpCookie("MyCookie");//創建一個名稱為“MyCookie”的Cookie 5 mycookie.Value = Server.HtmlEncode("大家好,我是Cookie");//設置Cookie的值 6 mycookie.Expires = DateTime.Now.AddDays(10);//設置Cookie過期時間 7 Response.AppendCookie(mycookie);//將一個HTTP Cookie添加到內部Cookie集合中 8 //Response.Cookies.Add(mycookie);//添加到內部Cookie集合中,與上面相同 9 }

2.獲取Cookie對象

1 protected void Page_Load(object sender, EventArgs e) 2 { 3 //獲取Cookie對象 4 try 5 { 6 HttpCookie mycookie = new HttpCookie("MyCookie"); 7 mycookie.Value = Server.HtmlEncode("Hello,我是Cookie"); 8 mycookie.Expires = DateTime.Now.AddHours(10); 9 Response.AppendCookie(mycookie); 10 Response.Write("創建Cookie成功"); 11 Response.Write("<hr>"); 12 //----------使用------------ 13 HttpCookie getMyCookie = Request.Cookies["MyCookie"];//獲取Cookie 14 Response.Write(getMyCookie.Name + getMyCookie.Value + getMyCookie.Expires);//輸出 15 } 16 catch 17 { 18 Response.Write("Cookie 創建失敗"); 19 } 20 }

?

四、實例:Cookie的寫入和讀取

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

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

如下實例:

?

?

代碼如下:

1 在default1頁面中: 2 protected void Page_Load(object sender, EventArgs e) 3 { 4 5 } 6 protected void Button1_Click(object sender, EventArgs e) 7 { 8 //保存cookie信息 9 10 HttpCookie c1 = new HttpCookie("user");//HttpCookie類實例化一個從cookie對象,創建并命名新的cookie 11 c1.Value = "cookie Value"; //設置單個cookie的值 12 Response.Cookies.Add(c1); //將指定的cookie保存到Cookies集合中 13 Response.Write("<script>alert('保存成功!')</script>"); 14 15 } 16 protected void Button2_Click(object sender, EventArgs e) 17 { 18 //提交頁面 19 Response.Redirect("Default2.aspx"); 20 } 1 在default2頁面: 2 protected void Button1_Click(object sender, EventArgs e) 3 { 4 //讀取coookie 5 Response.Write("cookie的名稱(Name):" + Request.Cookies["user"].Name + "<br/>"); 6 Response.Write("cookie的值(Value):" + Request.Cookies["user"].Value + "<br/>"); 7 8 }

?五、Cookie對象相比Session、Application的優缺點:

以下總結來自:ASP.NET 3.5 開發技術大全

相 比Session和Application對象,使用Cookie能持久化保存用戶信息。Cookie保存在客戶端,而Session和 Application保存在服務器端,故Cookie能長久保存。web應用程序可以通過獲取客戶端的Cookie來進行用戶身份認證。

Asp.net包含兩個Cookie集合,通過HttpRequest的Cookie集合進行訪問,Cookie不是Page類的子類,所以使用方法與Session和Application不同,相比于他們Cookie的優點如下:

1.可以配置過期時間
2.簡單:Cookie是一種基于文本的輕量級結構,包括簡單的鍵值對
3.數據持久:因為保存到客戶端
4.無任何服務器資源:因為存儲在本地客戶端

缺點如下:

1.大小限制:
2.不確定性:可能用戶刪除Cookie或者禁用
3.安全風險:可偽造修改

轉載于:https://www.cnblogs.com/jqmtony/archive/2013/02/13/2910814.html

總結

以上是生活随笔為你收集整理的Asp.net内置对象之Cookies的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。