zoukankan      html  css  js  c++  java
  • C#中的Cookie

    cookie属性:

    name字段为一个cookie的名称。

    value字段为一个cookie的值。

    domain字段为可以访问此cookie的域名。

    path字段为可以访问此cookie的页面路径。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie。

    expires 字段为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话默认值是Session,意思是cookie会和session一起失效。当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。

    Size字段 此cookie大小。

    http字段  cookie的httponly属性。若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过document.cookie来访问此cookie。

    secure字段 设置是否只能通过https来传递此条cookie

    在这里只写了简单的Cookie操作

    设置Cookie

    public void AddCookie()
    {
    //方法一:
    HttpCookie Cookie1 = new HttpCookie("CookieName");
    Cookie1.Expires = DateTime.Now.AddDays(1);//设置过期时间
    Cookie1.Value = "Value";
    Response.Cookies.Add(Cookie1);//响应一个Cookies
    //System.Web.HttpContext.Current.Response.Cookies.Add(Cookie1);//作用同 Response.Cookies.Add(Cookie1),响应一个Cookies
    //方法二:
    Response.Cookies["CookieName"].Value = "Value";
    // Response.Cookies["CookieName"].Values["Key"] = "Value";//存多值
    Response.Cookies["CookieName"].Expires = DateTime.Now.AddDays(1);//设置过期时间
    //方法三:
    HttpCookie cookie3 = new HttpCookie("CookieName");
    DateTime dt = DateTime.Now; //获取当前时间
    TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0);//过期时间为1分钟
    cookie3.Expires = dt.Add(ts);//设置过期时间
    cookie3.Values.Add("Key", "Value");
    cookie3.Values.Add("Key", "Value");
    //cookie3.Values.Set("Key", "Value");//设置cookie某项的值
    Response.AppendCookie(cookie3); //响应一个Cookies
    //注:如果使用response.Cookies创建cookie就不用写System.Web.HttpContext.Current.Response.Cookies了。
    }

     获取Cookie

    public void ReadCookie()
    {
    //方法一:
    HttpCookie cookies1 = Request.Cookies["CookieName"];
    string Values1 = cookies1.Value;
    //string Values 1= cookies.Values["Key"];//获取多值
    //方法二:
    string Values2 = Request.Cookies["CookieName"].Value;
    //string Values2 = Request.Cookies["CookieName"].Values["Key"];//获取多值
    //方法三:(获取多值)
    string Values3 = Server.UrlDecode(Request.Cookies["CookieName"]["Key"]);
    //System.Web.HttpContext.Current.Request.Cookies["CookieName"];//同Request.Cookies
    }

    修改Cookie

    public void UpdateCookie()
    {
    //修改只需要重新给要修改的cookie赋值就行,这样旧的就会被覆盖掉。
    //所以这里只写一种方法,更多请参考创建cookie
    HttpCookie Cookie = Request.Cookies["CookieName"];
    Cookie.Expires = DateTime.Now.AddDays(1);//设置过期时间
    Cookie.Value = "Value";//设置值
    Response.Cookies.Add(Cookie);//响应一个Cookies
    }

    删除Cookie

    public void DeleteCookie()
    {
    //删除cookie只需修改的cookie的过期时间(expires)过去的时间即可
    //所以这里只写一种方法,更多请参考创建cookie
    HttpCookie Cookie = Request.Cookies["CookieName"];
    Cookie.Expires = DateTime.Now.AddDays(-1);//设置过期时间
    Response.Cookies.Add(Cookie);//响应一个Cookies
    }

    •  注意:对Cookie进行操作时应先判断cookie不为空
    • 注意:当Cookie存中文出现乱码,则在存放时给中文编码,读取时解码即可,如Cookie.setCookie("name", Server.UrlEncode("Value"),1)
    • 注意:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效
  • 相关阅读:
    2-分类
    1-确定变量间是否有关系—显著性检验
    git简单操作
    Hadoop HA和Hbase HA
    Docker入门操作
    内存数据库专题(MemCached 和Redis)
    Spark MLlib和Sprk GraphX
    Spark 调优
    Spark Streaming基础
    Spark SQL
  • 原文地址:https://www.cnblogs.com/xianyv/p/10777228.html
Copyright © 2011-2022 走看看