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

提供一個.NET下通用的Cookie操作類

 2009-01-13 13:37  來源:   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

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

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

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

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的函數(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)用這兩個函數(shù):

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

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

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

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

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

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

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)文章

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

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

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

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

  • Cookie仍舊是清白的

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

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

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

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

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

    標(biāo)簽:
    cookie

熱門排行

信息推薦