2009-11-24 31 views
6

Đoạn mã dưới đây sẽ gửi một cookie cho người sử dụng như một phần của câu trả lời:Làm thế nào để gán một cookie không liên tục (trong bộ nhớ) trong ASP.NET?

var cookie = new HttpCookie("theAnswer", "42"); 
cookie.Expires = DateTime.Now.AddDays(7); 
Response.Cookies.Add(cookie); 

Cookie là loại dai dẳng, mà bởi hầu hết các trình duyệt sẽ được ghi vào đĩa và sử dụng trên phiên. Đó là, cookie vẫn còn trên máy tính của khách hàng vào ngày mai, ngay cả khi trình duyệt và PC đã bị đóng ở giữa. Sau một tuần, cookie sẽ bị xóa (do dòng # 2).

Cookie không liên tục/trong bộ nhớ là một nhóm cookie khác, có tuổi thọ được xác định theo thời lượng phiên duyệt của ứng dụng khách. Thông thường, các cookie như vậy được giữ trong bộ nhớ và chúng sẽ bị hủy khi trình duyệt bị đóng.

Làm cách nào để gán cookie trong bộ nhớ từ ASP.NET?

Trả lời

11

Chỉ cần bỏ qua ngày hết hạn. Bằng cách không đặt giá trị, cookie sẽ tự động bị hủy sau khi phiên kết thúc.

var cookie = new HttpCookie("theAnswer", "42"); 
Response.Cookies.Add(cookie); 
+3

Đây không phải là ASP.NET cụ thể. Cookie không liên tục, theo định nghĩa, các cookie không có ngày hết hạn. :) – bzlm

+0

Tôi thực sự nghi ngờ đây là câu trả lời, nhưng một vài tìm kiếm nhanh trên Google và SO không có nguồn đáng tin cậy. Ít nhất bây giờ nó được ghi lại ở đây! @ bzlm: cảm ơn thông tin tiền thưởng, không biết điều đó :) –

+1

Vì vậy, phiên bản viết tắt 'Response.Cookies [" theAnswer "]. Value =" 42 "' cũng sẽ dẫn đến cookie không liên tục, phải không? –

3

Nếu bạn không chỉ định hết hạn, thì nó sẽ tạo loại cookie bạn đang yêu cầu.

0

gán DateTime.MinValue cho hết hạn cũng có chức năng ...

Các vấn đề liên quan