Cookie是一段文本信息,在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一。Cookie 也可以直接用于在请求之间保持数据,但数据随后将存储在客户端并随每个请求一起发送到服务器。浏览器对 Cookie 的大小有限制,因此,只有不超过 4096 字节才能保证被接受。
//编写Cookie (单值)
//方式1:
Response.Cookies["uid"].value="flyso";
Response.Cookies["uid"].Expires=DateTime.MaxValue;
//方式2:
HttpCookie acookie = new HttpCookie("uid");
acookie.Value="flyso";
acookie..Expires=DateTime.MaxValue;
Response.Cookies.Add(acookie);
//编写Cookie (多值)
//方式1:
Response.Cookies["login"]["uid"].value="flyso";
Response.Cookies["login"]["pwd"].value="flyso.cn";
Response.Cookies["login"].Expires=DateTime.MaxValue;
//方式2:
HttpCookie cookie = new HttpCookie("login");
string pwd=Request.Cookies["login"]["pwd"];
}
//读取Cookie 集合 for (int i = 0; i < Request.Cookies.Count; i++)
{
HttpCookie cookies = Request.Cookies;
Response.Write("name=" + cookies.Mame + "<br/>");
if (cookies.HasKeys)//是否有子键
{
System.Collections.Specialized.NameValueCollection NameColl
= aCookie.Values;
for (int j = 0; j < NameColl.Count; j++)
{
Response.Write("子键名=" + NameColl.AllKey[j] + "<br/>");
Response.Write("子键值=" + NameColl[j] + "<br/>");
}
}
else
{
Response.Write("value=" + cookies.Value + "<br/>");
}
}
//运行此代码时,可看到一个名为“ASP.NET_SessionId”的Cookie,ASP.NET用这个 Cookie 来保存您的会话的唯一标识符。
//修改 Cookie
//修改的方法与创建方法相同
//删除 Cookie
//将其有效期设置为过去的某个日期。当浏览器检查 Cookie 的有效期时,就会删除这个已过期的 Cookie。
HttpCookie cookie = new HttpCookie("userinfo1");
cookie.Expires=DateTime.Now.AddDays(-30);
Response.Cookies.Add(cookie);
//修改cookie
Response.Cookies["login"]["uid"] = "875.net";
Response.Cookies["login"].Expires = DateTime.Now.AddDays(1);
//删除cookie下的属性
HttpCookie acookie = Request.Cookies["login"];
acookie.Values.Remove("Userid");
acookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(acookie);
//删除所有cookie,就是设置过期时间为现在就行了
int limit = Request.Cookies.Count - 1;
for (int i = 0; i < limit; i++)
{
acookie = Request.Cookies(i);
acookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(acookie);
}