2011-10-18 7 views
5

utilizo una función javascript para almacenar la cookie:C# Asp.net conseguir la galleta tiempo de caducidad establecido en javascript siempre devuelve 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; 
} 

Y cuando compruebo las cookies en mi navegador de la caducidad de la cookie de sumario está configurado correctamente: 25. oktober 2011 16:12:17

Pero cuando en C# voy a obtener el valor, la fecha de caducidad es 01.01.0001.

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

     cookie.Expires is 01.01.0001 

¿Alguna pista?

Respuesta

7

Egghead says that:

El navegador se encarga de gestionar las cookies, y el tiempo de caducidad de la cookie y la fecha ayudar al navegador gestionar su tienda de galletas. Por lo tanto, aunque puede leer el nombre y el valor de una cookie, no puede leer la fecha y hora de caducidad de la cookie. Cuando el navegador envía información de cookies al servidor, el navegador no incluye la información de caducidad. (La propiedad Expires de la cookie siempre devuelve un valor de cero de fecha y hora). Si le preocupa la fecha de caducidad de una cookie , debe restablecerla.

1

El navegador no transmite la fecha de caducidad de una cookie a los servidores, esto es según la especificación HTTP.

Los navegadores solo envían el nombre de la cookie y el valor solo.

La propiedad expires en el objeto cookie sólo se utiliza cuando la configuración fecha de caducidad de una cookie que va a ser escrito en una respuesta, no leer en una solicitud.

Al leer la cookie, el valor de propiedad Vencimiento siempre será nulo. Puede ver esto usted mismo examinando los encabezados HTTP. Si realmente desea leer el valor de caducidad de una cookie, intente escribirla en el valor mismo o use otra cookie con el valor de la fecha de vencimiento (deberá mantenerlas sincronizadas).

Cuestiones relacionadas