以前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;
}
}

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(-);
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 > && 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(-);
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);

实现Cookie集合的更多相关文章

  1. 好好了解一下Cookie

    Cookie的诞生 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新 ...

  2. ASP.NET Cookie(一)--基本应用

    Cookie提供了一种在Web应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用Cookie存储用户首选项或其他信息.当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息 ...

  3. asp.net,cookie,写cookie,取cookie

    Cookie是一段文本信息,在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一.Cookie 也可以直接用于在请求之间保持数据,但数据随后将存储在客户端并随每个请求一 ...

  4. C#中Cookie的概述及应用

    1.Cookie简介 Cookie 提供了一种在 Web 应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用 Cookie 存储用户首选项或其他信息.当该用户再次访问您的网站时, ...

  5. .NET的Cookie相关操作

    using System; using System.Collections.Generic; using System.Text; using System.Web; namespace Comm ...

  6. Asp.net操作cookie大全

    实例代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 ...

  7. 创建Cookie,简单模拟登录,记录登录名,购物车记录先前添加内容,session控制登录

     工作任务:模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站, ...

  8. asp.net各种cookie代码和解析

    Cookie是一段文本信息,在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一.Cookie 也可以直接用于在请求之间保持数据,但数据随后将存储在客户端并随每个请求一 ...

  9. Cookie对象

    Cookie对象用于保存客户端浏览器请求的服务器页面,也可用于存放非敏感性的用户信息,信息保存的时间可以根据用户的需要进行设置.并非所有的浏览器都支持Cookie,并且数据信息是以文本的形式保存在客户 ...

随机推荐

  1. (网页)angular中实现li或者某个元素点击变色的两种方法(转)

    转自脚本之家: 本篇文章主要介绍了angular中实现li或者某个元素点击变色的两种方法,非常具有实用价值,需要的朋友可以参考下 本文介绍了angular中实现li或者某个元素点击变色的两种方法,分享 ...

  2. 一文学redis操作(记录向)

    相关内容: 虽然有参考文档,而且记忆太多也是耗脑,但学习的时候还是想要有个系统划分开知识点的文档,即使不要求去细致记忆,但划分开知识块后脑子里的印象才会更清晰,所以就有了这个博文. 主要是将各种命令进 ...

  3. Asp.Net WebApi Get请求整理(一)

    Asp.Net WebApi+JQuery Ajax的Get请求整理 一.总结 1.Asp.Net WebApi默认不支持Get请求,需要在Action方法上指定[HttpGet], 除非Action ...

  4. Paxos 算法 :消息传递一致性

    网络上有很多关于优秀的关于Paxos 算法的文章,我下面进行整理搜集一下: 分布式理论之一:Paxos算法的通俗理解 维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 L ...

  5. Win7系统system进程句柄数一直增加解决方案

    公司内部最近有个服务端的同事电脑句柄数一开机就一直增加 一台Windows7x64系统16G 其实物理内存使用情况在开机后并没有太大的变化,但虚拟内存占用明显在不停的增加. 我通过“任务管理器”一直也 ...

  6. Hadoop2.7.6_07_HA高可用

    1. Hadoop的HA机制 前言:正式引入HA机制是从hadoop2.0开始,之前的版本中没有HA机制 1.1. HA的运作机制 (1)hadoop-HA集群运作机制介绍 所谓HA,即高可用(7*2 ...

  7. 阿里八八β阶段Scrum(5/5)

    今日进度 陈裕鹏: 简单信息抽取编码完成 叶文滔: 处理了信息抽取编码的一些BUG,修复了日程界面不会自动更新添加的日程的BUG,修改了原先测试用的TAG以及数据分析部分数据计算数值错误的问题 王国超 ...

  8. Centos7下安装docker(1)

    1.确认系统没安装任何docker相关的安装包 yum remove docker docker-common docker-selinux docker-engine centos7的docker存 ...

  9. Ubuntu18.04安装Tensorflow+cuda+cuDNN

    本文写的比较简单,期间遇到的一些小麻烦,自己不认为成为阻碍,所以没有详细写. 如有疑问可以联系QQ:2922530320 Pycharm Pycharm使用Anaconda Pycharm 在新建项目 ...

  10. SSM 搭建精美实用的管理系统

    课程介绍 SSM 框架即 SpringMVC+Spring+Mybatis,相信各位朋友在投递简历时已直观感受到它的重要性,JavaWeb 相关工作的招聘要求中基本都包括了这三项技术能力. 由于其轻量 ...