实现Cookie集合
2018-06-22 07:52:54来源:未知 阅读 ()
以前Insus.NET有在博客上有写过一篇《在程序中使用Cookie集合》http://www.cnblogs.com/insus/archive/2011/05/25/2055531.html
昨天Insus.NET有在命名用这方法的专项中,进行改写与优化。
把Cookie类抽出并独立起来。
private static HttpResponse Response { get { return HttpContext.Current.Response; } } private static HttpRequest Request { get { return HttpContext.Current.Request; } }
这个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); }
下面是存储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); }
以上只是实现一个cookie类。真正在程序中,我们怎样去写cookie呢?也就是说如何使用。你可以写每一个cookie写成一个property,如下:
你可以写成任一个想实现的cookie。以上只是简单写2个属性,一个方法。
在网页中,就可以轻松使用:
赋值:
InsusBase.SystemLoginOk = true;
InsusBase.SystemId = "Key001";
获取值:
Response.Write(InsusBase.SystemLoginOk);
Response.Write(InsusBase.SystemId);
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- WPF实现带全选复选框的列表控件 2020-03-29
- PHP session实现购物车功能 2020-03-23
- WPF实现简单的跑马灯效果 2020-03-23
- ASP.NET使用AjaxPro实现前端跟后台交互详解 2020-03-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash