服務(wù)熱線
153 8323 9821
.net自身具有一個(gè)清除Cookie的方法:
Response.Cookies.Clear();
但有些時(shí)候發(fā)現(xiàn)執(zhí)行了該語(yǔ)句后Cookie仍然存在,因?yàn)樵撜Z(yǔ)句并不是物理刪除Cookie,這里提供一個(gè)讓瀏覽器幫助我們刪除Cookie的方法:
1。刪除所有Cookie
int n = Request.Cookies.Count;
for (int i = 0; i < n; i++)
{
HttpCookie myCookie = Request.Cookies[i];
myCookie.Expires = DateTime.Today.AddDays(-1);
Response.Cookies.Add(myCookie);
}
2。刪除指定Cookie
//這里假設(shè)指定的Cookie為OtherInfo
if (Request.Cookies["OtherInfo"] != null)
{
HttpCookie myCookie = Request.Cookies["OtherInfo"];
myCookie.Expires = DateTime.Today.AddDays(-1);
Response.Cookies.Add(myCookie);
}
下面在說(shuō)一下.net新增Cookie的方法:
//添加Cookie,名稱(chēng)為UserInfo
HttpCookie myCookie = new HttpCookie("UserInfo");
myCookie.Values["userName"] = Request.QueryString["p"].ToString();
myCookie.Expires = DateTime.Now.AddMinutes(5);
Response.Cookies.Add(myCookie);
//添加Cookie,名稱(chēng)為OtherInfo
HttpCookie otherCookie = new HttpCookie("OtherInfo");
otherCookie.Values["otherName"] = Request.QueryString["p"].ToString();
otherCookie.Expires = DateTime.Now.AddMinutes(5);
Response.Cookies.Add(otherCookie);
Request.Cookies.Clear()這個(gè)方法并不是刪除Cookie
刪除 Cookie(即從用戶(hù)的硬盤(pán)中物理移除 Cookie)是修改 Cookie 的一種形式。
由于 Cookie 在用戶(hù)的計(jì)算機(jī)中,因此無(wú)法將其直接移除。
但是,可以讓瀏覽器來(lái)為您刪除 Cookie。
該技術(shù)是創(chuàng)建一個(gè)與要?jiǎng)h除的 Cookie 同名的新 Cookie,
并將該 Cookie 的到期日期設(shè)置為早于當(dāng)前日期的某個(gè)日期。
當(dāng)瀏覽器檢查 Cookie 的到期日期時(shí),瀏覽器便會(huì)丟棄這個(gè)現(xiàn)已過(guò)期的 Cookie。
下面的代碼示例演示刪除應(yīng)用程序中所有可用 Cookie 的一種方法:
CODE:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}