提供一个.net下通用的Cookie操作类

原创 2011年01月13日 23:59:00

提供一个.net下通用的Cookie操作类

笔者曾经参与一个大型多用户商城的开发,系统用户角色很多,有买家,卖家,代理商,系统管理员,普通管理员,超级管理员等,这些用户都涉及到登陆系统,然后建立cookies的问题,由于角色的不同,这些用户登陆系统后,所建的cookies都相对独立,而且对一个多用户商城来说,cookies区分域很重要,不同的域名要建不同的域。因此笔者在开发的过程中,写了很多次的建cookies,取cookies的代码,不胜其烦!

  既然都是建cookies,那么肯定有共同点,我们何不抽象出来,写一个通用的Cookie操作类呢,下面笔者就以.net为例,来说明下如何实现这个类吧!

  /////以下是建cookies的函数

public void SetCookies(string domain, string type, XieGou.XGMap map)
 {
 HttpCookie cookie = new HttpCookie(type);//定义cookie对象
 DateTime dt = DateTime.Now;//定义时间对象
 TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用时间,具体查msdn
 cookie.Expires = dt.Add(ts);//添加作用时间
 cookie.Domain = domain;
 for(int i =0 ;i < map.Size() ; i++)
 {
  cookie.Values.Add(map.GetTag(i),map.GetValue(i).ToString());//增加属性
 }
 page.Response.AppendCookie(cookie);//确定写入cookie
 }

  /////以下是取cookies的函数

public string GetCookies(string type, string name)
 {
 if(page.Request.Cookies[type] != null)
 {
  if(page.Request.Cookies[type].Values[name] != null)
  {
  return page.Request.Cookies[type].Values[name].ToString();
  }
  else
  {
  return "0";
  }
 }
 return "0";
 }

  下面我们来看下,如何调用这两个函数:

XieGou.XGMap map = new XGMap();  ///这里用到的Map类,可以参考网上资料写一个
 map.Add("shopid",shop.m_id.ToString());  ///添加map对应表
  map.Add("shopname",shop.m_name.ToString());
 func.SetCookies(".shopxg.com","shopxg_namespace",map);

  原理其实很简单,先定义一个map类,把要建的cookies名称和值放到map表里,然后统一由SetCookies来建cookies,这样写的好处,就是可以少写很多代码,特别是需要频繁建cookies的网站!

 

C#.net cookie、session实现自动登陆

一、什么是用户自动登录?    对于我们的网站向已注册用户提供某些专门的服务,比如网上购物、在线下载、收费浏览等等,就会要求用户在使用这些服务之前进入登录页面,输入用户名和密 码,并进行验证。  ...
  • lvdou2518
  • lvdou2518
  • 2014年01月24日 19:45
  • 1298

内容提供者ContentProvider的基本使用

感觉别人总结的挺好就直接拿过来收藏了 一、ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其...
  • qq_27280457
  • qq_27280457
  • 2016年07月04日 10:50
  • 3276

asp.net页间传值之多值cookies

下面实例: set.aspx代码如下: 跳转   ...
  • yayun0516
  • yayun0516
  • 2014年12月03日 19:23
  • 1261

ASP.NET(c#)操作cookie、session、cache工具类[转]

public static class Cookie    {        /// 创建COOKIE对象并赋Value值        ///         /// 创建COOKIE对象并赋Val...
  • liaobc123
  • liaobc123
  • 2011年03月14日 11:27
  • 356

asp.net的XML通用操作类

在上班有一个老同学问有asp.net操作xml,所有为了帮助他在网上找来一些asp.net操作xml的操作using System; using System.Xml; using System.Da...
  • swc493197713
  • swc493197713
  • 2012年03月22日 15:55
  • 504

[网站建设之]asp.net的XML通用操作类【转】

using System using System.Xml; using System.Data; namespace Message.Common { /// /...
  • u010158775
  • u010158775
  • 2015年02月12日 15:38
  • 530

ADO.NET通用数据库操作类

最近经常看到一些人在秀其多年来积累经验而成的数据库操作类,在此我也秀一把。 本人对ORM相关的东西是极不喜欢的,可能与平常接触到的项目所操作的数据量都较大、业务较复杂吧。另对那种通过自己编写实体类,...
  • darkinger
  • darkinger
  • 2012年04月18日 09:20
  • 819

一个.NET通用JSON解析/构建类的实现(c#)

一个.NET通用JSON解析/构建类的实现(c#) 在.NET Framework 3.5中已经提供了一个JSON对象的序列化工具,但是他是强类型的,必须先按JSON对象的格式定...
  • cqkxzyi
  • cqkxzyi
  • 2011年12月17日 17:38
  • 1149

一个.NET通用JSON解析/构建类的实…

一个.NET通用JSON解析/构建类的实现(c#) 在.NET Framework 3.5中已经提供了一个JSON对象的序列化工具,但是他是强类型的,必须先按JSON对象的格式定义一个类型,并将...
  • fz2543122681
  • fz2543122681
  • 2014年03月24日 13:08
  • 722

一个.NET通用JSON解析/构建类的实现(c#)

在.NET Framework 3.5中已经提供了一个JSON对象的序列化工具,但是他是强类型的,必须先按JSON对象的格式定义一个类型,并将类型加上JSON序列化特性。本文将试图提供一个高度灵活的J...
  • lxm1247983646
  • lxm1247983646
  • 2013年08月12日 18:01
  • 696
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:提供一个.net下通用的Cookie操作类
举报原因:
原因补充:

(最多只允许输入30个字)