Pregunta

Quiero mi galleta a desaparecer cuando el usuario cierra su brower-- yo ya he puesto algunas propiedades prometedoras que buscan, pero mis galletas POP volver a vivir incluso después de cerrar el navegador entero.

HttpCookie cookie = new HttpCookie("mycookie", "abc");
cookie.HttpOnly = true; //Seems to only affect script access
cookie.Secure = true; //Seems to affect only https transport

¿Qué propiedad o llamada al método Soy que falta para lograr una cookie de memoria?

¿Fue útil?

Solución

Esta pregunta ha sido publicado en línea más de 1000 veces. La mejor manera de manejar las cookies no persistentes tiempo de espera con el carácter abierto del navegador es añadir un valor clave para el tiempo de espera. El código siguiente se utiliza para el registro en el valor de clave de identificación del usuario y cifrado (no incluido) para la seguridad de la compatibilidad del navegador. Yo no uso la autenticación de formularios.

HttpCookie cookie = new HttpCookie(name);
cookie.Values["key1"] = value;
cookie.Values["key2"] = DateTime.Now.AddMinutes(70).ToString(); 
                             //timeout 70 minutes with browser open
cookie.Expires = DateTime.MinValue;
cookie.Domain = ConfigurationManager.AppSettings["website_domain"];
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);

Al comprobar la cookie uso de valores clave:

try
{

DateTime dateExpireDateTime;
dateExpireDateTime = DateTime.Parse(HttpContext.Current.Request.Cookies[name]["key2"]);

if (DateTime.Now > dateExpireDateTime)
{
//cookie key value timeout code
}
else
{
//reset cookie
}

catch
{
//clear cookie and redirect to log in page
}

he encontrado problemas de compatibilidad utilizando autenticación de formularios y Google Chrome.

Otros consejos

Galletas sin una caducidad establecido explícitamente pasará automáticamente de distancia una vez que la sesión de exploración ha terminado.

Ahora, "sesión de navegación" significa diferentes cosas para diferentes navegadores. Para algunos navegadores que significa que cada instancia del navegador se cierra. Para algunos, sólo significa que las pestañas correspondientes o original del navegador está cerrado.

En su prueba, asegúrese de cerrar todas las instancias del navegador antes de volver a abrir a buscar la galleta. Si continúa teniendo problemas publicar el nombre del navegador y revisión.

cookie.Expires = DateTime.MinValue;

esta cookie caducará, tan pronto como se cierra el navegador.

Si lo hace ningún conjunto la propiedad Cookie.Expires se establecerá la cookie expirará al final de la sesión de navegación.

cookie no sea destruir el navegador se cerrará si Tomado de aquí

 HttpCookie cookie = new HttpCookie(name);
 cookie.Value = value;
 cookie.Expires = Convert.ToDateTime(“12/12/2008″);  //*difference is here*//
 Response.Cookies.Add(cookie);}

cookie se perdió en el navegador se cerrará si

     HttpCookie cookie = new HttpCookie(name);
     cookie.Value = value;
     Response.Cookies.Add(cookie);}

Tome un vistazo a la variable Session ASP.NET. Este persistirá dependiendo de su navegador y se puede configurar para ser "cookies" o con un tiempo de espera de disco.

http://msdn.microsoft.com/ en-us / library / h6bb9cz9% 28VS.71% 29.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top