• C#中Cookies的存取


    c#中cookies的存取操作
    c#中cookies的存取
    cookies的创建:

    在客户端创建一个username的cookies,其值为gjy,有效期为1天.
    方法1:
    Response.Cookies["username"].Value="zxf";
    Response.Cookies["username"].Expires=DateTime.Now.AddDays(1);

    方法2:
    System.Web.HttpCookie newcookie=new HttpCookie("username");
    newcookie.Value="gjy";
    newcookie.Expires=DateTime.Now.AddDays(1);
    Response.AppendCookie(newcookie);


    创建带有子键的cookies:
    System.Web.HttpCookie newcookie=new HttpCookie("user");
    newcookie.Values["username"]="zxf";
    newcookie.Values["password"]="111";
    newcookie.Expires=DateTime.Now.AddDays(1);
    Response.AppendCookie(newcookie);

    cookies的读取:

    无子键读取:
    if(Request.Cookies["username"]!=null)
    {
    Response.Write(Server.HtmlEncode(Request.Cookies["username"].Value));
    }

    有子键读取:
    if(Request.Cookies["user"]!=null)
    {
    Response.Write(Server.HtmlEncode(Request.Cookies["user"]["username"].Value));
    Response.Write(Server.HtmlEncode(Request.Cookies["user"]["password"].Value));

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

     
    public class Cookie
    {
        
    /// <summary>
        
    /// Cookies赋值
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <param name="strValue">键值</param>
        
    /// <param name="strDay">有效天数</param>
        
    /// <returns></returns>
        public bool setCookie(string strName, string strValue, int strDay)
        {
            
    try
            {
                HttpCookie Cookie 
    = new HttpCookie(strName);
                //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
                Cookie.Expires 
    = DateTime.Now.AddDays(strDay);
                Cookie.Value 
    = strValue;
                System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
                
    return true;
            }
            
    catch
            {
                
    return false;
            }
        }

        
    /// <summary>
        
    /// 读取Cookies
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <returns></returns>
     
        
    public string getCookie(string strName)
        {
            HttpCookie Cookie 
    = System.Web.HttpContext.Current.Request.Cookies[strName];
            
    if (Cookie != null)
            {
                
    return Cookie.Value.ToString();
            }
            
    else
            {
                
    return null;
            }
        }

        
    /// <summary>
        
    /// 删除Cookies
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <returns></returns>
        public bool delCookie(string strName)
        {
            
    try
            {
                HttpCookie Cookie 
    = new HttpCookie(strName);
                //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
                Cookie.Expires 
    = DateTime.Now.AddDays(-1);
                System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
                
    return true;
            }
            
    catch
            {
                
    return false;
            }
        }



    示例:
    Cookie Cookie = new Cookie();
    Cookie.setCookie(
    "name""aaa",1);//赋值
    Cookie.getCookie("name");//取值
    Cookie.delCookie("name");//删除
    注意:当Cookie存中文出现乱码,则在存放时给中文编码,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),读取时解码即可


    另外:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效





    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

     
    public class Cookie
    {
        
    /// <summary>
        
    /// Cookies赋值
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <param name="strValue">键值</param>
        
    /// <param name="strDay">有效天数</param>
        
    /// <returns></returns>
        public bool setCookie(string strName, string strValue, int strDay)
        {
            
    try
            {
                HttpCookie Cookie 
    = new HttpCookie(strName);
                //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
                Cookie.Expires 
    = DateTime.Now.AddDays(strDay);
                Cookie.Value 
    = strValue;
                System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
                
    return true;
            }
            
    catch
            {
                
    return false;
            }
        }

        
    /// <summary>
        
    /// 读取Cookies
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <returns></returns>
     
        
    public string getCookie(string strName)
        {
            HttpCookie Cookie 
    = System.Web.HttpContext.Current.Request.Cookies[strName];
            
    if (Cookie != null)
            {
                
    return Cookie.Value.ToString();
            }
            
    else
            {
                
    return null;
            }
        }

        
    /// <summary>
        
    /// 删除Cookies
        
    /// </summary>
        
    /// <param name="strName">主键</param>
        
    /// <returns></returns>
        public bool delCookie(string strName)
        {
            
    try
            {
                HttpCookie Cookie 
    = new HttpCookie(strName);
                //Cookie.Domain = ".xxx.com";//当要跨域名访问的时候,给cookie指定域名即可,格式为.xxx.com
                Cookie.Expires 
    = DateTime.Now.AddDays(-1);
                System.Web.HttpContext.Current.Response.Cookies.Add(Cookie);
                
    return true;
            }
            
    catch
            {
                
    return false;
            }
        }



    示例:
    Cookie Cookie = new Cookie();
    Cookie.setCookie(
    "name""aaa",1);//赋值
    Cookie.getCookie("name");//取值
    Cookie.delCookie("name");//删除
    注意:当Cookie存中文出现乱码,则在存放时给中文编码,如Cookie.setCookie("name", Server.UrlEncode("aaa"),1),读取时解码即可


    另外:只要不给cookie设置过期时间,cookie在浏览器关闭的时候自动失效






     

  • 相关阅读:
    线程进程之间的关系
    socket网络编程
    Docker在github上的站点
    大型网站架构体系的演变
    centos7 安装SSH
    如何在CentOS 7中禁用IPv6
    在 Docker 上运行一个 RESTful 风格的微服务
    docker 操作命令详解
    玩转Docker镜像
    搭建自己的 Docker 私有仓库服务
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/1435524.html
Copyright © 2020-2023  润新知