2011-10-18 24 views

risposta

0

Il modo in cui si rimuove un cookie è di cambiarlo scadenza data a qualche cosa che è già passato .. ma un cookie scaduto non dovrebbe mai essere inviato dal browser nel primo caso ...

1

È non può cancellare direttamente un cookie sul computer dell'utente. Tuttavia, è possibile indirizzare il browser dell'utente per eliminare il cookie impostando la data di scadenza del cookie su una data passata. La prossima volta che un utente effettua una richiesta a una pagina all'interno del dominio o percorso che imposta il cookie, il browser determinerà che il cookie è scaduto e lo rimuove.

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

Prova questo.

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

Si prega di notare la excerpt from MSDN,

Chiamando il metodo Remove della collezione Cookies rimuove il cookie dalla raccolta sul lato server, in modo che il cookie non sarà inviato al cliente. Tuttavia, il metodo non rimuove il cookie dal client se esiste già lì.

Problemi correlati