2011-06-19 22 views
19

Estoy trabajando en un sitio web de MVC, y en mi enlace de cierre de sesión quiero eliminar todas las cookies de dominio actuales.¿Cómo eliminar todas las cookies de dominio actuales en el sitio web de MVC?

yo probamos este:

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

y esto:

Response.Cookies.Clear(); 

pero ambos no funcionaba y las galletas todavía allí.

+0

posible duplicado de [Cómo hacer que borre las cookies utilizando asp.net MVC 3 y C#?] (Http://stackoverflow.com/questions/5122404/how-do-you-clear-cookies-using- asp-net-mvc-3-and-c) –

+1

Creo que ese tipo solo intentaba eliminar una cookie. Este chico quiere borrarlos a todos – Swift

+0

Sí, quiero borrar todas las cookies, no solo una, borrar una cookie está bien, estoy preguntando por eliminar todas las cookies de dominio. –

Respuesta

42

¿Qué tal esto?

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

Esto funcionó muy bien, gracias. –

+0

No hay problema. Feliz yo podría ayudar. – Swift

+0

simple pero funciona :-) – vNext

1

¿Qué tal esto?

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

esto es agregar nuevas cookies sin eliminar la actual, ¿no es así? –

+0

Perdón por eso. Por favor, chequee esto. editado –

+0

por lo que su idea es agregar una nueva cookie con el mismo nombre que el existente pero con -1 día de vencimiento? –

Cuestiones relacionadas