2011-10-18 44 views

回答

0

你刪除一個cookie的方法是改變它到期日期是已經過去.. 但過期的cookie絕不應該在第一種情況下的瀏覽器發送的一些事情...

1

你無法直接刪除用戶計算機上的cookie。但是,您可以通過將Cookie的到期日期設置爲過去的日期來指示用戶的瀏覽器刪除Cookie。當用戶下次向設置cookie的域或路徑中的頁面發出請求時,瀏覽器將確定該cookie已過期並將其刪除。

if (Request.Cookies["UserSettings"] != null) 
{ 
    HttpCookie myCookie = new HttpCookie("UserSettings"); 
    myCookie.Expires = DateTime.Now.AddDays(-1);//add -1 days 
    Response.Cookies.Add(myCookie); 
} 
2

試試這個。

var cookies = Request.Cookies; 
foreach (HttpCookie cookie in cookies) 
{ 
    if (cookie.Expires < DateTime.Now) 
    { 
     Request.Cookies.Remove(cookie.Name); 
    } 
} 

請注意excerpt from MSDN

調用Cookies集合的remove方法從服務器端收集cookie的 ,所以cookie將不會被髮送 到客戶端。但是,如果該方法已經存在,該方法不會將其從 客戶端中刪除。