Cómo: Escribir una cookie
Actualización: noviembre 2007
Las cookies proporcionan, en las aplicaciones Web, un medio para almacenar información específica del usuario, como el historial o las preferencias. Una cookie es un pequeño fragmento de texto que acompaña a las solicitudes y respuestas que tienen lugar entre el servidor Web y el cliente. La cookie contiene información que la aplicación Web puede leer cada vez que el usuario visita el sitio.
El explorador administra las cookies en los equipos de los clientes. Las cookies se envían al cliente utilizando el objeto HttpResponse, que expone una propiedad denominada Cookies. Debe agregar a esta colección cualquier cookie que desee que la aplicación Web envíe al explorador. Cuando escriba una nueva cookie, deberá especificar sus propiedades Name y Value. Cada cookie debe tener un nombre único para que la aplicación Web pueda identificarla cuando el explorador la envíe con solicitudes futuras.
Hay dos maneras de escribir una cookie en el equipo de un usuario. Puede establecer las propiedades de la cookie directamente en la colección Cookies o puede crear una instancia del objeto HttpCookie y agregarla a la colección Cookies. Las cookies deben crearse antes de que la página ASP.NET se presente al cliente. Por ejemplo, puede escribir una cookie en un controlador de eventos Page_Load, pero no en un controlador de eventos Page_Unload. Para obtener más información sobre el ciclo de vida de las páginas, vea Información general sobre el ciclo de vida de una página ASP.NET.
Para obtener más información, vea Información general sobre las cookies en ASP.NET.
Para escribir una cookie estableciendo sus propiedades en la colección Cookies
En la página ASP.NET en la que desea escribir la cookie, asigne las propiedades a una cookie de la colección Cookies.
En el ejemplo de código siguiente se muestra una cookie denominada UserSettings con los valores de las subclaves Font y Color establecidos. También se establece la hora de caducidad para que sea el día siguiente.
Response.Cookies("UserSettings")("Font") = "Arial" Response.Cookies("UserSettings")("Color") = "Blue" Response.Cookies("UserSettings").Expires = DateTime.Now.AddDays(1)
Response.Cookies["UserSettings"]["Font"] = "Arial"; Response.Cookies["UserSettings"]["Color"] = "Blue"; Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
Para escribir una cookie creando una instancia del objeto HttpCookie
Cree un objeto del tipo HttpCookie y asígnele un nombre.
Asigne los valores a las subclaves de la cookie y establezca las propiedades de ésta.
Agregue la cookie a la colección Cookies.
El ejemplo de código siguiente muestra una instancia del objeto HttpCookie denominada myCookie, que representa una cookie denominada UserSettings.
Dim myCookie As HttpCookie = New HttpCookie("UserSettings") myCookie("Font") = "Arial" myCookie("Color") = "Blue" myCookie.Expires = Now.AddDays(1) Response.Cookies.Add(myCookie)
HttpCookie myCookie = new HttpCookie("UserSettings"); myCookie["Font"] = "Arial"; myCookie["Color"] = "Blue"; myCookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(myCookie);
Programación eficaz
De forma predeterminada, las cookies son compartidas por todas las páginas pertenecientes al mismo dominio, pero puede restringirlas a subcarpetas específicas del sitio Web estableciendo su propiedad Path. Para permitir que todas las páginas de todas las carpetas de la aplicación recuperen una cookie, establézcala en una página de la carpeta raíz de la aplicación y no establezca la propiedad Path.
Si no especifica un límite de caducidad para la cookie, ésta no se conservará en el equipo del cliente y caducará cuando caduque la sesión del usuario.
Las cookies sólo pueden almacenar valores de tipo String. Para poder almacenar en una cookie valores que no son cadenas antes debe convertirlos en cadenas. En muchos tipos de datos, basta con llamar al método ToString. Para obtener más información, vea el método ToString correspondiente al tipo de datos que desea conservar.
Seguridad
No almacene información confidencial, como un nombre de usuario o una contraseña, en una cookie. Para obtener más información sobre la seguridad en las cookies, vea Información general sobre las cookies en ASP.NET.
Vea también
Tareas
Conceptos
Información general sobre las cookies en ASP.NET
Procedimientos de seguridad básicos para aplicaciones Web
Información general sobre la administración de estados de ASP.NET