2011-06-19 33 views
19

Tôi đang làm việc trên trang web MVC và trong liên kết đăng xuất của tôi, tôi muốn xóa tất cả cookie miền hiện tại.Làm cách nào để xóa tất cả cookie miền hiện tại trong trang web MVC?

Tôi cố gắng này:

this.ControllerContext.HttpContext.Response.Cookies.Clear(); 

và điều này:

Response.Cookies.Clear(); 

nhưng cả hai đã không làm việc và các tập tin cookie vẫn còn đó.

+0

thể trùng lặp của [Làm thế nào để bạn hãy xóa cookie bằng asp.net MVC 3 và C#?] (Http://stackoverflow.com/questions/5122404/how-do-you-clear-cookies-using- asp-net-mvc-3-and-c) –

+1

Tôi nghĩ rằng anh chàng này chỉ cố gắng xóa một cookie. Anh chàng này muốn xóa tất cả – Swift

+0

Có, tôi muốn xóa tất cả cookie, không chỉ một, xóa một cookie là tốt, tôi hỏi về việc xóa tất cả cookie miền. –

Trả lời

42

Làm thế nào về điều này?

string[] myCookies = Request.Cookies.AllKeys; 
foreach (string cookie in myCookies) 
{ 
    Response.Cookies[cookie].Expires = DateTime.Now.AddDays(-1); 
} 
+0

Điều này làm việc rất tốt, cảm ơn. –

+0

Không sao cả. Hạnh phúc tôi có thể giúp. – Swift

+0

đơn giản nhưng hoạt động :-) – vNext

1

Điều này thì sao?

if (Request.Cookies["cookie"] != null) 
    { 
     HttpCookie myCookie = new HttpCookie("cookie"); 
     myCookie.Expires = DateTime.Now.AddDays(-1d); 
     Response.Cookies.Add(myCookie); 
    } 
+0

điều này là thêm cookie mới không xóa hiện tại, phải không? –

+0

Xin lỗi vì điều đó. Làm ơn kiểm tra cái này. đã chỉnh sửa –

+0

để ý tưởng của bạn là thêm cookie mới có cùng tên với cookie hiện tại nhưng với thời hạn sử dụng là -1 ngày? –

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