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);
    

      

  • 相关阅读:
    如何用nodejs创建一个proxy 服务
    企业包分发-应用内安装时碰到的问题
    React-Native与Weex的比较
    前端炫酷动画展示利器(lottie)
    记录一个web开发工具集网页
    git 和 远程分支关联
    reference to 'X' is ambiguous 解决
    mac 下解压 .bin文件
    fabric 集成trello
    ES6 对象的创建及操作
  • 原文地址:https://www.cnblogs.com/wzihan/p/14835499.html
Copyright © 2011-2022 走看看