Cookies的用法实例

时间:2015/10/29 21:23:00来源:互联网 作者:flyso 点击: 912 次
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");
cookie.Values["uid"]="flyso";
cookie.Values["pwd"]="flyso.cn";
//cookie.Expires=DateTime.MaxValue; 
cookie.Expires = System.DateTime.Now.AddDays(30);//设置过期时间 30天
Response.Cookies.Add(cookie);

//读取Cookie (单值)
//Internet Explorer 将站点的 Cookie 保存在文件名格式为 <user>@<domain>.txt 的文件中,其中 <user> 是您的帐户名。
//注意:在获取Cookie的值之前,应该确保该 Cookie 确实存在。否则,您将得到一个异常
If (Request.Cookies["userName"]!=null)
{
string str = Request.Cookies("userName").Value;
}

//读取Cookie (多值)
If ( Request.Cookies["login"]!=null )
{
string uid=Request.Cookies["login"]["uid"];
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);
        }

 


Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3