Cookie的简单用法

 Cookie你们确定很熟悉了,平时用的地方不少,如今我简单的介绍其的增删改查的方法,固然核心仍是添加如今先给一个简单的图来讲明添加Cookie的两种方式cookie

如今开始慢慢解释以上的图spa

第一步:添加Cookiecode

添加Cookie有两种方式一种带子键的另一种没有。其实咱们能够把Cookie当作一个对象对象

1:没有子键的添加blog

咱们先给咱们建立的Cookie取一个名字,而后在这个Cookie进行赋值,固然能够设置Cookie的其余属性比喻过时时间是我们最经常使用的,最后添加response中,这样就添加一个Cookie了。string

2:有子键的添加io

一样须要给新建的Cookie取一个名字,而后给Cookie对象添加子键,而且赋值class

#region 添加Cookie
        /// <summary>
        /// 设置一个cookie值
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="duration">持续时间,默认单位为4小时</param>
        public static void SetCookie(string cookieName, string key, string value, double duration = 4.0) {
            if (HttpContext.Current == null || string.IsNullOrEmpty(key) || string.IsNullOrEmpty(value)) return;
            var cookie = new HttpCookie(cookieName);//建立并命名新的Cookie。
            cookie.Expires = DateTime.Now.AddHours(4.0);//设置过时时间
            if (!string.IsNullOrEmpty(key)) {
                cookie.Values.Add(key, value);//有子键
            }
            else {
                cookie.Value = value;//没有子键
            }
            HttpContext.Current.Response.Cookies.Add(cookie);
        }

        #endregion

第二步:删除Cookie方法

删除Cookie一样考虑是否存在子键,若是有子键就删除这个子键,没有没有直接就移除这个Cookieim

#region 删除Cookie
        /// <summary>
        /// 删除Cookie
        /// </summary>
        /// <param name="cookieName">Cookie名称</param>
        /// <param name="key">Cookie子键</param>
        public static void Delete(string cookieName, string key) {
            HttpResponse response = HttpContext.Current.Response;
            if (response != null) {
                HttpCookie cookie = response.Cookies[cookieName];
                if (cookie != null) {
                    if (!string.IsNullOrEmpty(key) && cookie.HasKeys) {
                        cookie.Values.Remove(key);
                    }
                    else {
                        response.Cookies.Remove(cookieName);
                    }
                }
            }
        }

        #endregion

第三步:获取Cookie

获取Cookie也是经过Cookie名称或者Cookie名称和子键来获取看如下代码

    #region 获取Cookie
        /// <summary>
        /// 根据Cookie名称和子键获取Cookie值(子键可为空)
        /// </summary>
        /// <param name="CookieName">Cookie名称</param>
        /// <param name="Key">Cookie子键</param>
        /// <returns></returns>
        public static string GetValue(string cookieName, string key) {
            if (string.IsNullOrEmpty(cookieName) || HttpContext.Current.Request == null) {
                return "";
            }
            if (HttpContext.Current.Request.Cookies[cookieName] != null) {
                if (!string.IsNullOrEmpty(key) && HttpContext.Current.Request.Cookies[cookieName].HasKeys) {
                    return HttpContext.Current.Request.Cookies[cookieName].Values[key];
                }
                else {
                    return HttpContext.Current.Request.Cookies[cookieName].Value;
                }
            }
            return "";
        }
        #endregion
相关文章
相关标签/搜索