當(dāng)前位置:首頁 >  站長(zhǎng) >  建站經(jīng)驗(yàn) >  正文

提供一個(gè).NET下通用的Cookie操作類

 2009-01-13 13:37  來源:   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過

筆者曾經(jīng)參與一個(gè)大型多用戶商城的開發(fā),系統(tǒng)用戶角色很多,有買家,賣家,代理商,系統(tǒng)管理員,普通管理員,超級(jí)管理員等,這些用戶都涉及到登陸系統(tǒng),然后建立cookies的問題,由于角色的不同,這些用戶登陸系統(tǒng)后,所建的cookies都相對(duì)獨(dú)立,而且對(duì)一個(gè)多用戶商城來說,cookies區(qū)分域很重要,不同的域名要建不同的域。因此筆者在開發(fā)的過程中,寫了很多次的建cookies,取cookies的代碼,不勝其煩!

既然都是建cookies,那么肯定有共同點(diǎn),我們何不抽象出來,寫一個(gè)通用的Cookie操作類呢,下面筆者就以.net為例,來說明下如何實(shí)現(xiàn)這個(gè)類吧!

/////以下是建cookies的函數(shù)

public void SetCookies(string domain, string type, XieGou.XGMap map)

{

HttpCookie cookie = new HttpCookie(type);//定義cookie對(duì)象

DateTime dt = DateTime.Now;//定義時(shí)間對(duì)象

TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用時(shí)間,具體查msdn

cookie.Expires = dt.Add(ts);//添加作用時(shí)間

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的函數(shù)

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";

}

下面我們來看下,如何調(diào)用這兩個(gè)函數(shù):

XieGou.XGMap map = new XGMap(); ///這里用到的Map類,可以參考網(wǎng)上資料寫一個(gè)

map.Add("shopid",shop.m_id.ToString()); ///添加map對(duì)應(yīng)表

map.Add("shopname",shop.m_name.ToString());

func.SetCookies(".shopxg.com","shopxg_namespace",map);

原理其實(shí)很簡(jiǎn)單,先定義一個(gè)map類,把要建的cookies名稱和值放到map表里,然后統(tǒng)一由SetCookies來建cookies,這樣寫的好處,就是可以少寫很多代碼,特別是需要頻繁建cookies的網(wǎng)站!

上面是筆者的一點(diǎn)拙見,如有問題,歡迎交流。Email : cxl@xiegoo.com .

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

  • cookie為何影響搜索引擎優(yōu)化排名?

    百度會(huì)將我們喜歡的網(wǎng)站與內(nèi)容推送到我們的面前。因?yàn)?,我們天天瀏覽自己的網(wǎng)站,所以,在搜索某些關(guān)鍵詞時(shí),我們看到的排名會(huì)更高一些,但這個(gè)排名也不至于特別夸張了

  • 百度優(yōu)化建議合理使用cookie如何解決

    看到百度優(yōu)化提示cookie越小越好,而且對(duì)于靜態(tài)文件需要避免設(shè)置cookie,站長(zhǎng)們估計(jì)不知道該怎么做了,這里我告訴大家我的解決方法。要將靜態(tài)文件放在不同域下,才能讓靜態(tài)文件避免設(shè)置cookie,建議將網(wǎng)站的靜態(tài)文件(如圖片、css、js等)放在一個(gè)專門的域名下訪問,由于這個(gè)域名與主站的域名不同,

  • Cookie仍舊是清白的

    谷歌昨天與哥倫比亞特區(qū)檢察機(jī)關(guān)達(dá)成和解,支付1700萬美元了結(jié)秘密追蹤網(wǎng)絡(luò)瀏覽,侵犯消費(fèi)者隱私的案子。這已不是谷歌第一次為此類行為支付罰款了,去年谷歌還因相同行為被美國(guó)聯(lián)邦貿(mào)易委員會(huì)罰款2250萬美元。號(hào)稱不作惡的谷歌,在這方面犯下的具體錯(cuò)誤是,利用技術(shù)手段繞開蘋果safari瀏覽器的禁止追蹤功能,

    標(biāo)簽:
    cookie
  • Google ADID來了 后Cookie時(shí)代的替代品是什么?

    近期鬧得沸沸揚(yáng)揚(yáng)谷歌考慮用一套新的匿名廣告標(biāo)識(shí)符系統(tǒng)AdID取代傳統(tǒng)的cookie追蹤技術(shù)。這套匿名識(shí)別符系統(tǒng),被業(yè)內(nèi)人士形象的比喻為“超級(jí)Cookie”。筆者暫時(shí)將它稱之為后Cookie時(shí)代的替代品。筆者認(rèn)為催生“超級(jí)Cookie”或者說是傳聞的“GoogleADID”有兩個(gè)很重要的因素:1、傳統(tǒng)

    標(biāo)簽:
    cookie
  • 站長(zhǎng)網(wǎng)每日播報(bào):Cookie引爭(zhēng)議 京東啟用新域名

    1.網(wǎng)購化妝品三大傳言起底:水貨、摻假、高仿網(wǎng)銷化妝品80%是假貨的傳聞一時(shí)沸沸揚(yáng)揚(yáng),消費(fèi)者對(duì)于網(wǎng)銷化妝品質(zhì)疑不斷。近日,北京商報(bào)記者多方調(diào)查采訪,撥開了低價(jià)網(wǎng)銷化妝品的神秘面紗。相關(guān)閱讀:網(wǎng)購化妝品三大傳言起底:水貨、摻假、高仿網(wǎng)購化妝品便宜的秘密

    標(biāo)簽:
    cookie

熱門排行

信息推薦