服務熱線
153 8323 9821
.net自身具有一個清除Cookie的方法:
Response.Cookies.Clear();
但有些時候發現執行了該語句后Cookie仍然存在,因為該語句并不是物理刪除Cookie,這里提供一個讓瀏覽器幫助我們刪除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
//這里假設指定的Cookie為OtherInfo
if (Request.Cookies["OtherInfo"] != null)
{
HttpCookie myCookie = Request.Cookies["OtherInfo"];
myCookie.Expires = DateTime.Today.AddDays(-1);
Response.Cookies.Add(myCookie);
}
下面在說一下.net新增Cookie的方法:
//添加Cookie,名稱為UserInfo
HttpCookie myCookie = new HttpCookie("UserInfo");
myCookie.Values["userName"] = Request.QueryString["p"].ToString();
myCookie.Expires = DateTime.Now.AddMinutes(5);
Response.Cookies.Add(myCookie);
//添加Cookie,名稱為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()這個方法并不是刪除Cookie
刪除 Cookie(即從用戶的硬盤中物理移除 Cookie)是修改 Cookie 的一種形式。
由于 Cookie 在用戶的計算機中,因此無法將其直接移除。
但是,可以讓瀏覽器來為您刪除 Cookie。
該技術是創建一個與要刪除的 Cookie 同名的新 Cookie,
并將該 Cookie 的到期日期設置為早于當前日期的某個日期。
當瀏覽器檢查 Cookie 的到期日期時,瀏覽器便會丟棄這個現已過期的 Cookie。
下面的代碼示例演示刪除應用程序中所有可用 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);
}