欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c# 對(duì)cookies(增、刪、改、查)的操作方法

 更新時(shí)間:2013年04月24日 15:54:13   作者:  
以前覺(jué)得cookies操作無(wú)非就那么幾種,但是“杯具事件”還是很多的,下面分享一下對(duì)cookies的簡(jiǎn)單操作

-----------------------------------------------------操作-----------------------------------------------------------

1.添加cookies(用cookies方式去做sso,用戶(hù)信息保存,修改都會(huì)依賴(lài)cookies)

復(fù)制代碼 代碼如下:

  #region##添加cookeis
    ///<summary>
    /// 添加cookeis
    ///</summary>
    public void AddCookies()
    {

        HttpCookie cookies = new HttpCookie("Porschev");
        cookies["name"] = "Zhong Wei";
        cookies["sex"] = "1";
        cookies.Expires = DateTime.Now.AddMinutes(20);
        Response.Cookies.Add(cookies);

    }
    #endregion


添加cookies一般不會(huì)有人出錯(cuò)的。。。記得添加Expires就行

2.修改cookies( 在程序中難免會(huì)操作,對(duì)用戶(hù)信息的修改,更新數(shù)據(jù)庫(kù)后,也會(huì)修改cookies,為了修改后的顯示)

方法一:

復(fù)制代碼 代碼如下:

#region##修改cookies
///<summary>
/// 修改cookies
///</summary>
public void ModCookies()
{

HttpCookie cookies = Request.Cookies["Porschev"];
cookies["name"] = "wilson Z";

}
#endregion


新建個(gè)測(cè)式頁(yè)。。再取cookies中的name,結(jié)果:wilson Z;

這是這次項(xiàng)目中遇到的“杯具”事件之一,當(dāng)這樣修改cookies時(shí),在更新方法中再取這個(gè)名為Porschev的cookies,

name的值還為Zhong Wei而非wilson Z,頁(yè)面顯示也不對(duì)(己排除頁(yè)面緩存原因,更新也確實(shí)沒(méi)有成功)

修改方法一:

復(fù)制代碼 代碼如下:

 #region##修改cookies
    ///<summary>
    /// 修改cookies
    ///</summary>
    public void ModCookies()
    {

        HttpCookie cookies = Request.Cookies["Porschev"];
        cookies["name"] = "wilson Z";
        //加上下面一句
        Response.Cookies["Porschev"].Expires = DateTime.Now.AddMinutes(-1); 

    }
    #endregion


再次測(cè)式,結(jié)果正確,取出name的值為:wilson Z,頁(yè)面顯示也正確

自己理解:得讓以前存入過(guò)期時(shí)間為20min的cookies失效

3.得到cookies (這個(gè)最簡(jiǎn)單,為求方法完整,還是寫(xiě)上吧)

復(fù)制代碼 代碼如下:

 #region##得到cookies
    ///<summary>
    /// 得到cookies
    ///</summary>
    public void GetCookies()
    {

        HttpCookie cookies = Request.Cookies["Porschev"];
        string name = cookies["name"];   //通過(guò)key取出對(duì)應(yīng)value,多key同理取

    }
    #endregion


4.刪除cookies (刪除cookies網(wǎng)上有很多方法,但是刪除不是都能管用)

方法一:(最常用的一個(gè)刪除cookies方法)

復(fù)制代碼 代碼如下:

   #region##刪除cookies
    ///<summary>
    /// 刪除cookies
    ///</summary>
    public void DelCookeis()
    {

        if (Request.Cookies["Porschev"] != null)
        {
            HttpCookie cookies = new HttpCookie("Porschev");
            cookies.Expires = DateTime.Now.AddDays(-1);
            Response.Cookies.Add(cookies);
        }        

    }
    #endregion


在項(xiàng)目中測(cè)式,刪除部分cookies失敗,很無(wú)語(yǔ),于是換一種方法

復(fù)制代碼 代碼如下:

 #region##刪除cookies
    ///<summary>
    /// 刪除cookies
    ///</summary>
    public void DelCookeis()
    {

        foreach (string cookiename in  Request.Cookies.AllKeys)
        {
            HttpCookie cookies = Request.Cookies[cookiename];
            if (cookies != null)
            {
               cookies.Expires = DateTime.Today.AddDays(-1);
               Response.Cookies.Add(cookies);
               Request.Cookies.Remove(cookiename);
            }
        }   

    }
    #endregion


測(cè)式:刪除成功

自己理解:方法一只能刪除提當(dāng)前Response中的cookies,不對(duì)完成刪除掉客端的cookies,用遍歷cookies的方式可以

方法一定對(duì),己經(jīng)過(guò)項(xiàng)目實(shí)際驗(yàn)證,觀點(diǎn)不一定正確,如理解有誤,請(qǐng)各位指正??!

相關(guān)文章

最新評(píng)論