Sto tentando di eliminare un cookie, tuttavia non viene eliminato. Ecco il codice che cerco di usare.Eliminare il problema relativo ai cookie in C#
if (Request.Cookies["dcart"] != null)
{
Response.Write(Request.Cookies["dcart"].Expires);
// Response 1/1/0001 12:00:00 AM
Response.Write(Request.Cookies["dcart"].Value);
// Response 229884
HttpCookie myCookie = new HttpCookie("dcart");
myCookie.Expires = DateTime.Now.AddDays(-1d);
myCookie.Value = "";
Response.Cookies.Add(myCookie);
}
Response.Write(Request.Cookies["dcart"].Expires);
// Response 1/1/0001 12:00:00 AM
Response.Write(Request.Cookies["dcart"].Value);
// Response 229884
Quando recupero nuovamente il cookie, non cambia nulla. Controllo w/FireFox e lo stesso comportamento di Chrome. Il punto interessante è che la data di scadenza viene visualizzata correttamente sui browser ma sul codice.
Ho provato a seguire e non ha funzionato.
- Impostare la data di scadenza su (domani) e impostarla nuovamente per ieri.
- riavviare il browser (accade diversi browser e persone)
- Impostare il valore qualcosa
- Usa HttpContext.Current.Request.Cookies [ "dcart"] ....
- Request.Cookies [ "dcart" ] .Expires = DateTime.Now.AddYears (-10);
PS. Il codice non funzionerà direttamente sul tuo computer, perché non hai il cookie.
Utilizzare Fiddler (o qualsiasi altro debugger HTTP) e verificare se il cookie è effettivamente inviato. Cioè potrebbe esserci una chiamata per rimuovere tutti i cookie dalla risposta prima che venga inviata ... –
@DaveZych Request.Cookies ["dcart"]. Expires = DateTime.Now.AddYears (-10); non ha funzionato – asr