.Net_Cookie
protected void Page_Load(object sender, EventArgs e) { //从客户端请求中获取cookie for(int i=0;i<this.Request.Cookies.Count;i++) { Response.Write(Request.Cookies[i].Value); } //怎么往客户端写Cookie //Response.Cookies.Add(); //Cookie也是存在客户端浏览器上的 Key-Value集合 var cookie = new HttpCookie("path", "牛人8882!"); //设置过期时间就会将Cookie直接存储到硬盘上 //不设置过期时间,则只存到客户端浏览器所在机器的内存里面(其实就是浏览器的进程里面) cookie.Expires = DateTime.Now.AddDays(1); //当前这个cookie只给 Cookie文件夹下的页面使用 cookie.Path = "/WebSiteDemo2/Cookie"; //如果想让子域的cookie让主域也能访问,则设置如下 cookie.Secure = false; //主域的cookie是能被所有的子域访问到的。 //而子域想让主域访问到自己的写到客户端的Cookie,则需要将Domain属性设置为主域名( 默认情况下子域能访问主域的Cookie,主域不能访问子域的Cookie) //cookie.Domain = "www.baidu.com" Response.AppendCookie(cookie); //这时候只是 将Cookie生成到响应流里面的Cookie都给干掉了,只是不生成了响应的Cookie头部 //Response.Cookies.Clear(); //清空Cookie }
清空Cookie,要设置其过期才算是把浏览器的Cookie清空
protected void Page_Load(object sender, EventArgs e) { int cookieCount = this.Request.Cookies.Count; //从客户端请求中获取cookie for (int i = 0; i < cookieCount; i++) { //创建一个新的cookie,只不过名字跟请求来的一样 HttpCookie cookie = new HttpCookie(Request.Cookies[i].Name); //在服务器端不能直接清空浏览器的Cookie cookie.Expires = DateTime.Now.AddHours(-1); Response.Cookies.Add(cookie); } }