zoukankan      html  css  js  c++  java
  • Cookie的存储读取删除修改 (cookie.Expires读取永远是零时间)

    1.   Domain 和 Path 属性 是读不到的,读Domain属性永远是””,读Path属性永远是 ”/” 。本来这些属性的用途很有限。如果您的页面与 Cookie 不在相同的域,您根本就不会在页面的位置接收到该 Cookie。

    2.   也无法读取Cookie 的过期日期和时间。事实上,当浏览器向服务器发送 Cookie 信息时,浏览器并未将过期信息包括在内。您可以读取 Expires 属性,但总是返回为零的日期/时间值。Expires 属性的主要作用是帮助浏览器执行有关 Cookie 保存的日常管理。从服务器的角度来看,Cookie 要么存在要么不存在,所以对服务器而言,有效期并不是有用的信息。
    所以,浏览器在发送 Cookie 时并不提供此信息。如果您需要 Cookie 的过期日期,就必须重新设置。

    3.Domain 设置的时候  Request.Url.Authority;有可能导致cookie不能正常读取;(我是本地测试有时无法正常读取,因为Request.Url.Authority取值为 localhost:1262 )可以改成这样“http://”+Request.Url.Authority    cookie就可以正常读取。{这个还要测试}

    写入cookie

    public void SetCookie()
            {
                HttpCookie cookie = new HttpCookie("man");
                cookie.Values.Add("name", "liming");
                cookie.Values.Add("age", "20");
                cookie.Expires = DateTime.Now.AddDays(1);
                cookie.Domain = Request.Url.Authority;
                Response.AppendCookie(cookie);
            }

    读取cookie

    HttpCookie cookie = Request.Cookies["man"];
                if (cookie != null)
                {
                    string name = cookie.Values["name"];
                }

    删除cookie

    HttpCookie cookie = Request.Cookies["person"];
                cookie.Expires = DateTime.Now.AddDays(-1);
                Response.AppendCookie(cookie);
  • 相关阅读:
    在QLabel上点击获得的效果
    Linux内核源代码解析——TCP状态转移图以及其实现
    SQL Server 执行计划缓存
    leetcode:Gray Code
    poj1459 Power Network
    eclipse 设置代码大小和布局里面代码大小
    shareSDK的初步使用(shareSDK中微信、qq等兼容问题,以及cocoapods支持架构冲突问题的解决)
    算法6-4:哈希表现状
    问题解决——限制窗体的最小尺寸
    Android用canvas画哆啦A梦
  • 原文地址:https://www.cnblogs.com/housh/p/4544162.html
Copyright © 2011-2022 走看看