当前位置:首页 >  站长 >  建站经验 >  正文

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

 2009-01-13 13:37  来源:   我来投稿 撤稿纠错

  【推荐】海外独服/站群服务器/高防

笔者曾经参与一个大型多用户商城的开发,系统用户角色很多,有买家,卖家,代理商,系统管理员,普通管理员,超级管理员等,这些用户都涉及到登陆系统,然后建立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的网站!

上面是笔者的一点拙见,如有问题,欢迎交流。Email : cxl@xiegoo.com .

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

  • cookie为何影响搜索引擎优化排名?

    百度会将我们喜欢的网站与内容推送到我们的面前。因为,我们天天浏览自己的网站,所以,在搜索某些关键词时,我们看到的排名会更高一些,但这个排名也不至于特别夸张了

  • 百度优化建议合理使用cookie如何解决

    看到百度优化提示cookie越小越好,而且对于静态文件需要避免设置cookie,站长们估计不知道该怎么做了,这里我告诉大家我的解决方法。要将静态文件放在不同域下,才能让静态文件避免设置cookie,建议将网站的静态文件(如图片、css、js等)放在一个专门的域名下访问,由于这个域名与主站的域名不同,

  • Cookie仍旧是清白的

    谷歌昨天与哥伦比亚特区检察机关达成和解,支付1700万美元了结秘密追踪网络浏览,侵犯消费者隐私的案子。这已不是谷歌第一次为此类行为支付罚款了,去年谷歌还因相同行为被美国联邦贸易委员会罚款2250万美元。号称不作恶的谷歌,在这方面犯下的具体错误是,利用技术手段绕开苹果safari浏览器的禁止追踪功能,

    标签:
    cookie
  • Google ADID来了 后Cookie时代的替代品是什么?

    近期闹得沸沸扬扬谷歌考虑用一套新的匿名广告标识符系统AdID取代传统的cookie追踪技术。这套匿名识别符系统,被业内人士形象的比喻为“超级Cookie”。笔者暂时将它称之为后Cookie时代的替代品。笔者认为催生“超级Cookie”或者说是传闻的“GoogleADID”有两个很重要的因素:1、传统

    标签:
    cookie
  • 站长网每日播报:Cookie引争议 京东启用新域名

    1.网购化妆品三大传言起底:水货、掺假、高仿网销化妆品80%是假货的传闻一时沸沸扬扬,消费者对于网销化妆品质疑不断。近日,北京商报记者多方调查采访,拨开了低价网销化妆品的神秘面纱。相关阅读:网购化妆品三大传言起底:水货、掺假、高仿网购化妆品便宜的秘密

    标签:
    cookie

热门排行

信息推荐