博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实现Cookie集合
阅读量:5992 次
发布时间:2019-06-20

本文共 2991 字,大约阅读时间需要 9 分钟。

以前Insus.NET有在博客上有写过一篇《》

昨天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
GetCookies(string cookieName) { Dictionary
dic = new Dictionary
(); 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
dic = GetCookies(cookieName); if (dic.Count > 0 && dic.ContainsKey(keyName)) { return dic[keyName]; } return null; } public static void SetCookies(string cookieName, Dictionary
dic) { HttpCookie cookie = Request.Cookies[cookieName] == null ? new HttpCookie(cookieName) : Request.Cookies[cookieName]; foreach (KeyValuePair
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);

 

 

 

转载地址:http://hwxlx.baihongyu.com/

你可能感兴趣的文章
匿名函数
查看>>
mybatis添加记录时返回主键id
查看>>
Python 学习笔记 -- 继承与多态(入门级实例)
查看>>
HTML, CSS. JS的各种奇淫技巧
查看>>
leetcode442
查看>>
MySQL性能优化之参数配置
查看>>
Windows 7下Eclipse搭建Android开发环境
查看>>
mysqldump备份单表数据
查看>>
.bat 脚本
查看>>
hive 面试题
查看>>
Linux基础命令的操作(时间与日期,日历,计算器)
查看>>
Hyperledger子项目
查看>>
autofac文档:服务类型,名称和键
查看>>
Android IOS WebRTC 音视频开发总结(二三)-- hurtc使用说明
查看>>
c3p0数据库连接池+mysql数据库基本使用方法
查看>>
provides you GHD hair straighteners with a slight scalp massage
查看>>
Windows Azure Camp---漫步云端,创意无限
查看>>
hadoop 1.2.1 安装步骤 伪分布式
查看>>
位运算的应用和实例
查看>>
js 标准对象
查看>>