Próbuję usunąć plik cookie, ale nie zostanie on usunięty. Oto kod, którego próbuję użyć.Usuń problem z plikiem cookie w języku 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
Po ponownym pobraniu pliku cookie nic się nie zmienia. Sprawdzam w/FireFox i Chrome to samo zachowanie. Interesujące jest to, że data wygaśnięcia wyświetla się poprawnie w przeglądarkach, ale w kodzie.
Próbowałem pójść w ślady i nie działałem.
- Ustaw datę wygaśnięcia na (jutro) i ponownie ustaw ją na wczoraj.
- uruchom ponownie przeglądarkę (dzieje różnych przeglądarek i ludzi)
- ustawić wartość czegoś
- Używaj HttpContext.Current.Request.Cookies [ "dcart"] ....
- Request.Cookies [ "dcart" ] .Expires = DateTime.Now.AddYears (-10);
PS. Kod nie będzie działać bezpośrednio na twoim komputerze, ponieważ nie masz tego pliku cookie.
Użyj Fiddlera (lub dowolnego innego debuggera HTTP) i sprawdź, czy plik cookie jest rzeczywiście wysyłany. To znaczy. może być połączenie, aby usunąć wszystkie ciasteczka z odpowiedzi przed wysłaniem ... –
@DaveZych Request.Cookies ["dcart"]. Expires = DateTime.Now.AddYears (-10); nie działa. – asr