Pregunta

Estoy instalando un Request.Cookies("TemplateName").value cookie en una de mis páginas (página 3) de mi solicitud. Ahora puedo navegar desde la página 3 hasta la página 4 y la página 2 y retener el valor de la cookie. Pero ahora, cuando iniciar sesión otra vez que todavía tiene el valor, ¿cómo puedo restablecer el valor de la cookie para estar en blanco "" cuando comienzo a una nueva instancia?

He intentado:

Request.Cookies("TemplateName").Expires = Now
Request.Cookies("TemplateName").value = "" 

En mi página de inicio, pero la cookie todavía conserva el valor en la página 2 y 3.

¿Fue útil?

Solución

Es necesario utilizar la respuesta no la solicitud

Response.Cookies["TemplateName"].Value = "";

Response.Cookies["TemplateName"].Expires = DateTime.Now;

Para EDITAR VB.

Dim subkeyName As String
subkeyName = "userName"
Dim aCookie As HttpCookie = Request.Cookies("userInfo")
aCookie.Values.Remove(subkeyName)
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)


Response.Cookies("userName").Value = "patrick"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)

Estos ejemplos vienen a la derecha fuera de la página MSDN

Nota al margen

A menudo, las personas intentan utilizar

Request.Cookies.Remove("MyCookie");

Lo que sólo eliminará la cookie de la "colección de petición", Si desea eliminar una cookie, entonces usted necesita para expirar él. Más información aquí

Otros consejos

Esto puede sonar estúpido.

Pero estás tratando de establecer cookies desde cualquier otro lugar? Buscar el código para TemplateName, si eso ayuda.

No estoy tan familiarizado con .Net, pero con aplicaciones web en general que necesita para asegurarse de que ajuste las cabeceras de respuesta antes de escribir cualquier cuerpo, de lo contrario no pueden ser enviados. Sólo algo para comprobarlo.

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