Tôi đang cố gắng xóa cookie, tuy nhiên nó không bị xóa. Đây là mã tôi cố gắng sử dụng.Xóa sự cố về cookie trong 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
Khi tôi truy xuất lại cookie, không có gì thay đổi. Tôi kiểm tra w/FireFox và Chrome cùng một hành vi. Điểm thú vị là ngày hết hạn hiển thị chính xác trên trình duyệt nhưng trên mã.
Tôi đã thử làm theo và không hoạt động.
- Đặt ngày hết hạn thành (ngày mai) và thiết lập lại ngày hôm qua.
- Khởi động lại trình duyệt (xảy ra trình duyệt khác nhau và người)
- Thiết lập giá trị một cái gì đó
- Sử dụng HttpContext.Current.Request.Cookies [ "dcart"] ....
- Request.Cookies [ "dcart" ] .Expires = DateTime.Now.AddYears (-10);
PS. Mã sẽ không hoạt động trực tiếp trên máy của bạn, bởi vì bạn không có cookie.
Sử dụng Fiddler (hoặc bất kỳ trình gỡ lỗi HTTP nào khác) và xem liệu cookie có thực sự được gửi đi hay không. I E. có thể gọi để xóa tất cả cookie khỏi Trả lời trước khi gửi ... –
@DaveZych Request.Cookies ["dcart"]. Expires = DateTime.Now.AddYears (-10); không hoạt động. – asr