2011-10-18 26 views
5

tôi sử dụng một hàm javascript để lưu trữ các tập tin cookie:C# Asp.net bị Cookie thời gian hết hạn đặt trong javascript luôn trả 01.01.0001

createCookie("teaser", "teaser", 7); 
function createCookie(name, value, days) { 
var expires = ""; 
if (days) { 
    var date = new Date(); 
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
    expires = "; expires=" + date.toGMTString(); 
} 
document.cookie = name + "=" + value + expires + "; path=/"; 
return value; 
} 

Và khi tôi kiểm tra các cookie trong trình duyệt của tôi hết hạn cookie của lời trêu ghẹo được đặt chính xác: 25. oktober 2011 16:12:17

Nhưng khi trong C# tôi đi lấy giá trị, ngày hết hạn được đặt thành 01.01.0001.

var cookie = Request.Cookies["teaser"]; 
    if (cookie != null && teaserList.Count() > 0) 
    { 

     cookie.Expires is 01.01.0001 

Bất kỳ đầu mối nào?

Trả lời

7

Egghead says that:

Trình duyệt là trách nhiệm quản lý các tập tin cookie, và thời gian hết hạn của cookie và ngày giúp trình duyệt quản lý cửa hàng của các tập tin cookie. Do đó, mặc dù bạn có thể đọc tên và giá trị của cookie, bạn không thể đọc ngày và giờ hết hạn của cookie. Khi trình duyệt gửi thông tin cookie đến máy chủ, trình duyệt không bao gồm thông tin hết hạn. (Tài sản hết hạn của cookie luôn là trả về giá trị ngày giờ bằng 0). Nếu bạn lo ngại về ngày hết hạn của cookie , bạn phải đặt lại.

1

Trình duyệt không truyền ngày hết hạn của cookie đến máy chủ, điều này theo thông số HTTP.

Trình duyệt chỉ gửi tên và giá trị cookie chỉ.

Các Expires tài sản trên các đối tượng Cookie chỉ được sử dụng khi thiết ngày hết hạn trên một cookie có nghĩa là sẽ được viết trong một phản ứng, không đọc trong một yêu cầu.

Khi đọc cookie hết hạn, giá trị thuộc tính sẽ luôn rỗng. Bạn có thể thấy điều này cho chính mình bằng cách kiểm tra các tiêu đề HTTP. Nếu bạn thực sự muốn đọc giá trị hết hạn của cookie, hãy thử viết giá trị trong chính giá trị đó hoặc sử dụng cookie khác có giá trị ngày hết hạn (bạn sẽ cần giữ cho chúng tự đồng bộ hóa).

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