2008-09-22 2 views

Répondre

16

Les cookies ne sont lisibles que par le domaine qui les a créés, donc si le cookie a été créé sur metric.foo.com, il devra être supprimé sous le même domaine que celui créé. Cela inclut les sous-domaines.

Si vous devez supprimer un cookie de metric.foo.com, mais que vous exécutez actuellement une page sur www.foo.com, vous ne pourrez pas le faire. Pour ce faire, vous devez charger la page à partir de metric.foo.com, ou créer le cookie sous foo.com afin qu'il puisse être accessible sous n'importe quel sous-domaine. OU utilisez:

Response.Cookies ("MonCookie") domain = ".foo.com"

... tout en créant, et avant de le supprimer..

..zoomé - devrait fonctionner.

5

J'ai eu le même problème avec les sous-domaines. Pour une raison quelconque, obtenir le cookie en premier de la demande n'a pas fonctionné. Au lieu de cela, j'ai fini par créer un nouveau cookie avec le même nom de cookie, et la date d'expiration dans le passé. Cela a fonctionné parfaitement:

 
void DeleteSubdomainCookie(HttpResponse response, string name) 
{ 
    HttpCookie cookie = new HttpCookie(name); 
    cookie.Expires = DateTime.Now.AddMonths(-1); 
    cookie.Domain = ".yourdomain.com"; 
    response.Cookies.Add(cookie); 
} 
Questions connexes