2011-10-18 30 views

Trả lời

0

Cách bạn loại bỏ một cookie là để thay đổi nó hết hạn ngày với một số điều đã trôi qua .. nhưng một cookie hết hạn không bao giờ nên được gửi từ trình duyệt trong trường hợp đầu tiên ...

1

Bạn không thể xóa trực tiếp cookie trên máy tính của người dùng. Tuy nhiên, bạn có thể trực tiếp trình duyệt của người dùng xóa cookie bằng cách đặt ngày hết hạn của cookie thành ngày trong quá khứ. Lần tới khi người dùng thực hiện yêu cầu cho trang trong tên miền hoặc đường dẫn đã đặt cookie, trình duyệt sẽ xác định rằng cookie đã hết hạn và xóa 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

Hãy thử điều này.

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

Xin lưu ý excerpt from MSDN,

Gọi phương thức Remove của bộ sưu tập Cookies loại bỏ các tập tin cookie từ bộ sưu tập trên phía máy chủ, vì vậy cookie sẽ không được gửi cho khách hàng. Tuy nhiên, phương pháp này không xóa cookie khỏi ứng dụng nếu nó đã tồn tại ở đó.

Các vấn đề liên quan