2009-11-23 44 views
13

¿Cómo borrar las cookies que se han almacenado a través de mi aplicación asp.net mvc (C#), cuando el usuario cierra el navegador?Borrar cookies en el navegador cerrar

¿Existe alguna opción para crear una cookie que caduque una vez que se cierre el navegador?

Necesito usar cookies, porque almacenaré algunos de los valores que se mantendrán hasta que se cierre el navegador.

Por ejemplo, durante el inicio de sesión, puedo almacenar el ID de usuario en una cookie, que puedo usar para los procesos de mi aplicación hasta que se cierre bwoser.

sesión expirará después de un tiempo determinado, que tengo que superar con el uso de las cookies

Respuesta

22

Las sesiones se utilizan para este usualy. De acuerdo con Wikipedia, cuando no se establece una fecha de caducidad, se borra una cookie cuando el usuario cierra el navegador.

El cookie setter puede especificar una fecha de eliminación, en cuyo caso la cookie se eliminará en esa fecha. Si el creador de cookies no especifica una fecha, la cookie se elimina una vez que el usuario abandona su navegador.

+1

La sesión caducará cuando el usuario mantenga el navegador abierto durante mucho tiempo. ¿La cookie sin fecha de caducidad dura hasta que el navegador se cierra? – Prasad

+0

Realmente depende de cómo lo haya implementado el navegador. – Ikke

+5

No puede contar con que la cookie se elimine cuando se cierra el navegador. –

0

Como se mencionó en this SO question:

Response.Cookies("cookie_name").Expires = Session.Timeout; 
+4

En realidad, desea especificar que no caduque el valor de la cookie. Esto hará que la cookie se elimine cuando la sesión del navegador finalice (el usuario cierra el navegador). –

-1

Cuando me juego mi galleta de expirar en el pasado o no la puse en absoluto, es causada por el SSO de inicio de sesión para entrar en un bucle infinito con mi sitio. Probablemente configuré mi sitio incorrecto para trabajar con el inicio de sesión de SSO.

Pero lo que funcionó para mí fue solo agregar 2 segundos al tiempo de caducidad de la cookie.

trackCookie.Expires = DateTime.Now.AddSeconds(2); 

Esto le da a la cookie la validez de inicio de sesión. Y lo vence pronto después. Entonces, al cerrar el navegador, la cookie se elimina.

Cuestiones relacionadas