ASP.NET中的Cookie对象

 一 什么是Cookie?
Cookie 提供了一种在 Web 应用程序(jsp,asp)中存储用户特定信息(如历史记录或用户首选项)的方法。
Cookie 是一小段文本,伴随着请求和响应在 Web 服务器和客户端之间来回传输。
Cookie 包含每次用户访问站点时可由 Web 应用程序读取的信息。

 

二 Cookie由什么管理?
浏览器管理客户端计算机上的 Cookie.

 

三 Cookie是怎么写入的?
Cookie是由服务器端写入客户端,但是在客户端也可以修改,必须找到Cookie存放的位置.具体的方法是使用 HttpResponse 对象可向客户端发送 Cookie,该对象会公开称为 Cookies 的属性。
任何需要 Web 应用程序发送到浏览器的 Cookie 都必须添加到此集合中。

向用户计算机写 Cookie的两种方法?
1 直接为 Cookies 集合设置 Cookie 属性
 Response.Cookies[Cookie名称].Value = 变量值;
2 也可以创建 HttpCookie 对象的一个实例并将该实例添加到 Cookies 集合中
   HttpCookie hcCookie = new HttpCookie("Cookie的名称","值");
 Response.Cookies.Add(hcCookie);

注意:
1 必须在 ASP.NET 页呈现给客户端之前创建 Cookie。例如,可以在 Page_Load 事件处理程序中编写 Cookie,但不能在 Page_Unload 事件处理程序中编写 Cookie。
2 如果不指定该 Cookie 的过期限制,则该 Cookie 将不会保留在客户端计算机上,当用户会话到期时该 Cookie 即到期。
3 Cookie 仅能存储 String 类型的值。在将任何非字符串值存储到 Cookie 中之前,必须将它们转换为字符串。对于多数数据类型而言,调用 ToString 方法即可。

 


扩充:
1 下面的代码示例演示一个名为 UserSettings 的 Cookie,并设置其 Font 和 Color 子项的值。它还将过期时间设置为明天。
 Response.Cookies["UserSettings"]["Font"] = "Arial";
 Response.Cookies["UserSettings"]["Color"] = "Blue";
 Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);   //最大的时期为DateTime.MaxValue;

2 通过创建 HttpCookie 对象的实例编写 Cookie!

创建 HttpCookie 类型的对象并为它分配名称。为 Cookie 的子项赋值并设置所有 Cookie 属性。将该 Cookie 添加到 Cookies 集合中。
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie["Font"] = "Arial";
myCookie["Color"] = "Blue";
myCookie.Expires = DateTime.Now.AddDays(1d);
Response.Cookies.Add(myCookie);

 


四 如何读取Cookie
使用 Cookie 名作为键从 Cookies 集合中读取字符串。

string 变量名=Request.Cookies[Cookie的名称].value;

扩充:
下面的示例读取名为 UserSettings 的 Cookie,然后读取名为 Font 的子键的值
if (Request.Cookies["UserSettings"] != null)
{
    string userSettings;
    if (Request.Cookies["UserSettings"]["Font"] != null)
    { userSettings = Request.Cookies["UserSettings"]["Font"]; }
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值