12.170 cursos gratis
8.777.247 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Web forms. Programación

Autor: Hassan Chair
Curso:
9/10 (1 opiniýn) |86 alumnos|Fecha publicaciýn: 13/09/2011
Envýa un mensaje al autor

Capýtulo 11:

 Recuperación. Cookies

Recuperación de una Cookie
Cuando la cookie llega al cliente, el navegador almacena su contenido en un archivo de texto. Pero, como ya hemos mencionado antes, la cookie vuelve a ser enviada a la aplicación cada vez que se solicita de nuevo alguna de las páginas aspx de esta.

En este sentido hay que decir que un cliente sólo enviará a la aplicación las cookies que le pertenezcan, es decir, aquellas que previamente le hayan sido enviadas por la propia aplicación.

La información sobre la aplicación propietaria de un cookie queda también almacenada en el fichero de texto, así como la fecha de caducidad y otro tipo de información encriptada que permite asegurar la integridad de la cookie.

Para recuperar desde una página aspx las cookies enviadas por el cliente, recurriremos a la propiedad Cookies del objeto Request. Esta propiedad contiene la colección de objetos HttpCookie recibidos en la petición, pudiendo utilizar el indizador para recuperar cualquiera de estos objetos a partir del nombre de la cookie. Por ejemplo, utilizando la siguiente instrucción en alguna de las páginas aspx de la aplicación podríamos recuperar la cookie color:

HttpCookie ck = this.Request.Cookies[“color”];

En caso de que no exista la cookie cuyo nombre se especifica, la instrucción anterior devolverá null.

Tras la recuperación del objeto, recurriremos a la propiedad Value de HttpCookie para obtener el valor almacenado en la cookie:

string col = ck.Value;

Eliminación de una cookie
Una vez que se ha creado una cookie y ha sido enviada al cliente, esta no podrá ser eliminada (desde código, se entiende) hasta que caduque, enviándose siempre desde el cliente a la aplicación con cada petición realizada.

Así pues, si queremos forzar a que una cookie sea eliminada por el cliente, debemos asignarle al objeto HttpCookie una fecha de caducidad anterior a la fecha actual y volvérselo a enviar al cliente en la respuesta. Por ejemplo:

ck.Expires = DateTime.Now.AddDays(-1);

Cookies de sesión
Cuando analizamos anteriormente la utilización de las variables de sesión, indicamos que a la hora de recuperar el valor de estas desde código la aplicación utiliza la instancia de Session asociada al cliente en cuestión.

¿Pero cómo puede la aplicación identificar la instancia que se corresponde con cada cliente? La respuesta está en el hecho de que al crear la instancia de Session para ese cliente (hecho que se produce la primera vez que se asigna un valor a una variable de sesión durante la misma), se crea un identificador de sesión que es enviado al cliente con la respuesta HTTP. Este identificador es almacenado por el cliente en una cookie, conocida como cookie de sesión, de modo que es vuelto a enviar a la aplicación cuando se realiza una nueva petición a la misma desde ese cliente, permitiendo la identificación de la sesión asociada al usuario.

Esto debe ser tenido en cuenta por el programador, ya que el cliente podría tener desactivado el uso de cookies en su navegador y, por tanto, las variables de sesión podrían no funcionar correctamente para ese cliente.

Existe la posibilidad de evitar el uso de cookies para almacenar el identificador de sesión, insertando este en todas las URL´s de las páginas que apuntan a algún recurso de la aplicación. Esto se conoce como reescritura en URL.

La reescritura de los identificadores de sesión en URL puede realizarse de forma automática en ASP .NET a través del archivo de configuración Web.config. Tan sólo es necesario indicar en el atributo cookieless del elemento <sessionState> el valor true :

<sessionState cookieless="true" />

Ejemplo: Uso ValidacionRecuerdo

Capýtulo siguiente - Paginas de error. Archivos
Capýtulo anterior - Cookies. Seguridad

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratarý tus datos para realizar acciones promocionales (výa email y/o telýfono).
En la polýtica de privacidad conocerýs tu derechos y gestionarýs la baja.

Cursos similares a Web forms. Programación



  • Výdeo
  • Alumnos
  • Valoraciýn
  • Cursos
1. Programación en C++
C++ es un potente lenguaje de programación que apareció en 1980, continuando con... [04/06/04]
69.596  
2. C# Curso de Programación
Curso Básico de programación en C#, este curso básico abarcará desde las bases del... [14/07/05]
15.672  
3. Programación estructurada
Este curso les ayudará a tener conceptos básicos de la programación. Estos... [25/04/07]
3.025  

ýQuý es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail