为了账号安全,请及时绑定邮箱和手机立即绑定

实现Cookie集合

标签:
前端工具


昨天Insus.NET有在命名用这方法的专项中,进行改写与优化。

把Cookie类抽出并独立起来。

 

 private static HttpResponse Response        {            get            {                return HttpContext.Current.Response;            }        }        private static HttpRequest Request        {            get            {                return HttpContext.Current.Request;            }        }

Source Code

 

这个cookie集合,当然存取单独cookie也行才对:

 

 public static string GetCookie(string cookieName)        {            return Request.Cookies[cookieName] == null ? "" : Request.Cookies[cookieName].Value;        }        public static void SetCookie(string cookieName, string value)        {            Response.Cookies[cookieName].Value = value;        }        public static void RemoveCookie(string cookieName)        {            HttpCookie cookie = Request.Cookies[cookieName];            cookie.Expires = DateTime.Now.AddTicks(-1);            Response.Cookies.Add(cookie);        }

Source Code

 

下面是存储cookie集合,即是说单个cookie中,能够存储多个键值:



  private static Dictionary<string, object> GetCookies(string cookieName)        {            Dictionary<string, object> dic = new Dictionary<string, object>();            if (Request.Cookies[cookieName] != null)            {                HttpCookie cookie = Request.Cookies[cookieName];                if (cookie != null)                {                    NameValueCollection nvc = cookie.Values;                    foreach (string key in nvc.AllKeys)                    {                        dic.Add(key, cookie[key]);                    }                }            }            return dic;        }        public static object GetCookies(string cookieName, string keyName)        {            Dictionary<string, object> dic = GetCookies(cookieName);            if (dic.Count > 0 && dic.ContainsKey(keyName))            {                return dic[keyName];            }            return null;        }        public static void SetCookies(string cookieName, Dictionary<string, object> dic)        {            HttpCookie cookie = Request.Cookies[cookieName] == null ? new HttpCookie(cookieName) : Request.Cookies[cookieName];            foreach (KeyValuePair<string, object> val in dic)            {                cookie[val.Key] = val.Value.ToString();            }            Response.Cookies.Add(cookie);        }        public static void RemoveCookies(string cookieName)        {            HttpCookie cookie = Request.Cookies[cookieName];            cookie.Expires = DateTime.Now.AddTicks(-1);            Response.AppendCookie(cookie);        }        public static void RemoveCookies(string cookieName, string keyName)        {            HttpCookie cookie = Request.Cookies[cookieName];            if (cookie != null)                cookie.Values.Remove(keyName);            Response.AppendCookie(cookie);        }

Source Code



以上只是实现一个cookie类。真正在程序中,我们怎样去写cookie呢?也就是说如何使用。你可以写每一个cookie写成一个property,如下:



你可以写成任一个想实现的cookie。以上只是简单写2个属性,一个方法。

在网页中,就可以轻松使用:
赋值:
 InsusBase.SystemLoginOk = true;
InsusBase.SystemId = "Key001";


获取值:
 Response.Write(InsusBase.SystemLoginOk);
Response.Write(InsusBase.SystemId);

 

 



 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消