Administracion Del Estado

download Administracion Del Estado

of 41

Transcript of Administracion Del Estado

  • ndice

    Descripcin 1

    Leccin: administracin del estado 2

    Leccin: variables de aplicacin y de sesin 17

    Leccin: cookies y sesiones que no utilizan cookies 29

    Administracin del estado

  • Administracin del estado 1

    Descripcin

    Administracin del estado

    Variables de aplicacin y de sesin

    Cookies y sesiones que no utilizan cookies

    ***

    Microsoft ASP.NET permite administrar el estado de una aplicacin Web. El estado es la capacidad de una aplicacin Web de conservar la informacin del usuario.

    En este mdulo, estudiaremos cmo administrar el estado de una aplicacin Web ASP.NET.

    En este mdulo, aprenderemos a:

    Describir la administracin del estado y las distintas opciones disponibles para administrar el estado en una aplicacin Web ASP.NET.

    Utilizar variables de aplicacin y de sesin para administrar el estado en aplicaciones Web ASP.NET.

    Utilizar cookies y sesiones que no utilizan cookies para administrar el estado en aplicaciones Web ASP.NET.

    Introduccin

    Objetivos

  • 2 Administracin del estado

    Leccin: administracin del estado

    Qu es la administracin del estado?

    Tipos de administracin del estado

    Administracin del estado en el lado del servidor

    Administracin del estado en el lado del cliente

    El archivo Global.asax

    ***

    La conexin que se establece entre un usuario (el equipo cliente) y un servidor Web se denomina sesin. Las sesiones pueden abarcar mltiples pginas Web y su seguimiento se realiza mediante la administracin del estado.

    La administracin del estado es el proceso por el cual mantenemos la misma informacin a travs de mltiples peticiones para las mismas o distintas pginas Web.

    En esta leccin, empezaremos a conocer en detalle qu es la administracin del estado y por qu es importante administrar el estado. Estudiaremos la administracin del estado en el lado del servidor y la administracin del estado en el lado del cliente. Tambin estudiaremos el archivo global.asax.

    En esta leccin, aprenderemos a:

    Describir la administracin del estado. Identificar los distintos tipos de opciones de administracin del estado. Describir la administracin del estado en el lado del servidor. Describir la administracin del estado en el lado del cliente. Describir los distintos eventos que controla el archivo global.asax.

    Introduccin

    Objetivos de la leccin

  • Administracin del estado 3

    Qu es la administracin del estado?

    Nombre

    Apellido

    Introduzca su informacin de inicio de sesin:

    John

    EnviarEnviar

    Chen

    Servidor WebServidor Web

    Login.aspx Login.aspx

    Servidor WebServidor Web

    Hola John Chen

    Greetings.aspx

    Introduzca su informacin de inicio de sesin:

    John

    EnviarEnviar

    Chen

    Hola

    Greetings.aspx

    He olvidado quin eres!!

    He olvidado quin eres!!

    Nombre

    Apellido

    Sin administracin del estado

    Con administracin del estado

    ***

    Al igual que las tecnologas basadas en Hypertext Transfer Protocol (HTTP), los formularios Web Forms no tienen estado, lo que significa que no indican automticamente si las peticiones de una secuencia son todas del mismo cliente ni si una nica instancia de navegador sigue visualizando de forma activa una pgina Web o un sitio Web. Adems, las pginas Web se destruyen y vuelven a crearse a continuacin con cada nueva peticin al servidor Web; por tanto, la informacin de las pginas no existe ms all del ciclo de vida de una nica pgina.

    ASP.NET ofrece una administracin del estado que guarda informacin en el servidor entre pginas, que ayuda a mantener la continuidad de la informacin del usuario (estado) durante una visita a un sitio Web.

    Si se mantiene el estado entre pginas, la informacin suministrada originalmente por los usuarios puede ser reutilizada; por ello, los usuarios no necesitan volver a introducir la misma informacin varias veces cada vez que se enva una pgina de retorno al servidor.

    Por ejemplo, en la ilustracin anterior, el usuario, John Chen, introduce su nombre en el formulario login.aspx. Despus de introducir sus datos personales, esa informacin se enva al servidor y se muestra la pgina siguiente, el formulario greetings.aspx. Sin administracin del estado, la informacin que el usuario ha introducido en la primera pgina se ha perdido.

    Sin embargo, si se utiliza administracin del estado en la aplicacin Web, puede mantenerse el estado a travs de varias pginas Web. Por tanto, cuando la informacin personal del usuario se enva al servidor, la segunda pgina, el formulario greetings.aspx, da la bienvenida al usuario con su nombre, John

    Introduccin

    Administracin del estado

    Ejemplo

  • 4 Administracin del estado

    Chen, que el usuario introdujo en el formulario login.aspx, la primera pgina de la aplicacin Web.

  • Administracin del estado 5

    Tipos de administracin del estado

    Cadenas de consulta Informacin aadida al final de

    una URL

    Base de datos En algunos casos, se utiliza el

    soporte de base de datos para mantener el estado en el sitio Web

    Propiedad ViewState Conserva valores entre mltiples

    peticiones para la misma pgina

    Estado de sesin La informacin est disponible

    nicamente para el usuario de una sesin especfica

    Cookies Archivo de texto que almacena

    informacin para mantener el estado

    Estado de la aplicacin La informacin est disponible

    para todos los usuarios de una aplicacin Web

    AdministraciAdministracin del estado en n del estado en el lado del clienteel lado del cliente

    AdministraciAdministracin del estado en n del estado en el lado del servidorel lado del servidor

    ***

    ASP.NET proporciona dos tipos de administracin del estado que pueden utilizarse para mantener el estado entre envos y respuestas al servidor. La eleccin de uno de los dos tipos de administracin del estado disponibles en ASP.NET depende principalmente de la naturaleza de la aplicacin Web.

    Los dos tipos de administracin del estado son:

    Lado servidor Las opciones de la administracin del estado en el lado del servidor utilizan recursos del servidor para almacenar la informacin del estado. La seguridad de estas opciones es mayor que en el lado del cliente.

    Lado cliente La administracin del estado en el lado del cliente no utiliza recursos del servidor para almacenar la informacin del estado. Las opciones en el lado del cliente tienden a tener seguridad mnima, pero ofrecen un rpido rendimiento del servidor porque no existe demanda en el servidor para mantener el estado.

    La administracin del estado en el lado del servidor contiene diferentes opciones a escoger, incluyendo:

    Estado de aplicacin En el estado de aplicacin, la informacin est disponible para todos los usuarios de una aplicacin Web; por ejemplo, almacenar el nmero de visitantes a una aplicacin Web.

    Estado de sesin

    Introduccin

    Administracin del estado en el lado del cliente y en el lado del servidor

    Lado servidor

  • 6 Administracin del estado

    En el estado de sesin, la informacin est disponible nicamente para un usuario de una sesin especfica de una aplicacin Web; por ejemplo, almacenar el esquema de colores preferido de un usuario.

  • Administracin del estado 7

    Base de datos Microsoft SQL Server o un servidor de estado Otra opcin de la administracin del estado en el lado del servidor es utilizar la tecnologa de bases de datos. Podemos utilizar una base de datos SQL Server o un servidor de estado para almacenar informacin especfica del usuario cuando el almacn de informacin es de gran tamao. La base de datos SQL Server o un servidor de estado pueden utilizarse conjuntamente con el estado de sesin y cookies.

    El objeto Cache Tambin podemos utilizar el objeto Cache para administrar el estado a nivel de aplicacin.

    La administracin del estado en el lado del cliente tambin ofrece distintas opciones para mantener el estado. Estas opciones incluyen:

    Cookies Una cookie es un archivo de texto que puede utilizarse para almacenar pequeas cantidades de informacin necesarias para mantener el estado.

    La propiedad ViewState Los formularios Web Forms proporcionan la propiedad ViewState como una estructura incluida para conservar automticamente valores entre mltiples peticiones a la misma pgina. La propiedad ViewState se mantiene como un campo oculto en la pgina.

    Cadenas de consulta Una cadena de consulta es informacin que se aade al final de una URL (Uniform Resource Locator). Un ejemplo tpico podra ser el siguiente: http://www.contoso.com/listwidgets.aspx?category=basic&price=100 En la ruta URL anterior, la cadena de consulta se inicia con un signo de interrogacin (?) e incluye dos pares atributo-valor, categora y precio.

    Este mdulo cubre informacin que pertenece nicamente a cookies. Para ms informacin sobre ViewState y cadenas de consulta, consultar la documentacin de Microsoft Visual Studio .NET.

    Lado cliente

    Nota

  • 8 Administracin del estado

    Administracin del estado en el lado del servidor

    El estado de la aplicacin es un mecanismo de almacenamiento global accesible desde todas las pginas de la aplicacin Web

    El estado de sesin est limitado a la sesin de explorador actual

    z Los valores se conservan mediante el uso de variables de aplicacin y de sesin

    z Escalabilidad

    La sesin ASP.NET se identifica con la cadena SessionIDServidor WebServidor Web

    Equipo clienteEquipo cliente

    Variables de aplicacin y de sesin

    SessionID

    ***

    ASP.NET ofrece varias opciones para administrar el estado en el lado del servidor. Los estados de aplicacin y de sesin son dos de estas opciones. Esta seccin trata de los estados de aplicacin y de sesin en mayor detalle.

    ASP.NET proporciona el estado de aplicacin utilizando una instancia de la clase HttpApplicationState para cada aplicacin Web activa. El estado de aplicacin es un mecanismo de almacenamiento global al que se puede acceder desde todas las pginas de la aplicacin Web, y por tanto es til para almacenar informacin del usuario que debe preservarse entre transferencias al servidor y viajes entre pginas.

    El estado de la aplicacin es una estructura de diccionario clave-valor que se crea en cada peticin a una URL especfica. Podemos agregar la informacin especfica de la aplicacin a esta estructura para almacenarla entre peticiones de pginas. Despus de agregar la informacin especfica de aplicacin al estado de la aplicacin, el servidor la gestiona.

    ASP.NET proporciona las variables de aplicacin que mantienen el estado de aplicacin. Los datos ideales para insertar en variables de aplicacin son los datos compartidos por mltiples sesiones y que no cambian a menudo.

    ASP.NET proporciona estado de sesin utilizando una instancia de la clase HttpSessionState para cada sesin de aplicacin Web activa.

    El estado de sesin es similar al estado de aplicacin, salvo en que est limitado a la sesin actual del navegador. Si distintos usuarios estn utilizando una aplicacin Web, cada usuario tendr un estado de sesin distinto. Adems, si el mismo usuario abandona la aplicacin Web y regresa ms tarde, ese usuario tambin tendr un estado de sesin distinto al que tena antes.

    Introduccin

    Estado de aplicacin

    Variables de aplicacin

    Estado de sesin

  • Administracin del estado 9

    El estado de sesin est almacenado como una estructura de diccionario clave-valor que se utiliza par almacenar informacin especfica de la sesin que debe mantenerse entre transferencias de pginas al servidor y entre peticiones de pginas. Tras agregar la informacin especfica de la aplicacin al estado de sesin, el servidor la gestiona. Podemos configurar ASP.NET para automticamente serialice y almacene la informacin de sesin en una base de datos SQL Server o en un servidor de estado.

    ASP.NET proporciona las variables de sesin necesarias para mantener el estado de sesin. Los datos ideales para almacenar en las variables de estado de sesin son datos fugaces o confidenciales, especficos de una sesin individual.

    Los estados de aplicacin y de sesin se implementan como una tabla hash, y almacenan datos basndose en combinaciones de pares clave/valor. Una tabla hash es similar al concepto de un objeto dictionary.

    Con ASP.NET, el estado de sesin puede utilizarse tanto en configuraciones de mltiples equipos como de mltiples procesos; optimizando por tanto los escenarios de escalabilidad de una aplicacin Web.

    Cada sesin de aplicacin Web activa est identificada y monitorizada utilizando una cadena SessionID de 120 bits que nicamente contiene los caracteres ASCII permitidos en las URLs. Las cadenas SessionID estn comunicadas a travs de peticiones cliente-servidor, mediante una cookie HTTP o mediante una URL modificada, con la cadena SessionID embebida, denominadas normalmente SessionID sin cookies, dependiendo de la configuracin de la aplicacin Web.

    La administracin del estado en el lado del servidor requiere que una cookie almacene la SessionID en el equipo cliente. Debido a que la vida de una SessionID es muy breve, slo lo que dura una sesin, el mecanismo que ASP.NET utiliza para almacenar la informacin de sesin, en una base de datos SQL Server o en un servidor de estado, tambin se utiliza para permitir que la aplicacin sea escalable, pero no para un almacenamiento a largo plazo. Si deseamos implementar el almacenamiento a largo plazo de la informacin de sesin del usuario, debemos requerir a los usuarios que introduzcan su informacin personal, y deberemos implementar nuestra propia solucin de almacenamiento utilizando una base de datos que almacene permanentemente la informacin personal de usuarios registrados.

    Variables de sesin

    Nota

    Escalabilidad

    Identificar y hacer el seguimiento de una sesin

  • 10 Administracin del estado

    Administracin del estado en el lado del cliente

    Utiliza cookies para mantener el estado

    z Cookies persistentes

    z Cookies temporales/no persistentes

    Menos fiable que las opciones de administracin del estado en el lado del servidor

    z El usuario puede eliminar cookies

    Menos seguro que las opciones de administracin del estado en el lado del servidor

    Cantidad de informacin limitada

    z Restricciones en el lado del cliente en el tamao de los archivos Servidor WebServidor Web

    Equipo clienteEquipo cliente

    Cookies

    ***

    La mayora de aplicaciones Web utilizan cookies para la administracin del estado en el lado del cliente.

    Una cookie es una pequea cantidad de datos que se almacena en un archivo de texto en el sistema de archivos del equipo cliente o en memoria en la sesin cliente-navegador. Una cookie contiene informacin especfica de la pgina que el servidor enva al cliente, junto con la salida de la pgina.

    Podemos utilizar cookies para almacenar informacin sobre un determinado cliente, sesin o aplicacin. Las cookies se almacenan en el equipo cliente, y cuando el navegador solicita una pgina, enva la informacin de la cookie, junto con la informacin solicitada. El servidor est autorizado a leer la cookie y extraer su valor. Cada cookie contiene la informacin del dominio que invoc la cookie. Podemos tener varias cookies invocadas para un dominio.

    Los dos tipos de cookies son:

    Temporales Las cookies temporales, tambin denominadas cookies de sesin o no persistentes, existen nicamente en la memoria del navegador. Cuando el ste se apaga, las cookies temporales que se han aadido se pierden.

    Persistentes Las cookies persistentes son similares a las cookies temporales, excepto en que las cookies persistentes tienen un periodo de expiracin fijo. Cuando un navegador solicita una pgina que crea una cookie persistente, ste guarda esa cookie en el disco duro del usuario. Podemos crear una cookie persistente que dure meses, o incluso aos, en el equipo cliente. Con Microsoft Internet Explorer, las cookies persistentes se almacenan en un

    Introduccin

    Cookies

    Tipos de cookies

  • Administracin del estado 11

    archivo denominado [email protected], que se crea en el disco duro del cliente.

  • 12 Administracin del estado

    Las cookies pueden expirar cuando finaliza la sesin del explorador (cookies temporales), o pueden existir indefinidamente en el equipo cliente, dependiendo de las reglas de expiracin del cliente (cookies persistentes).

    Los usuarios tambin pueden decidir eliminar cookies de su equipo antes de que stas expiren. Por tanto, no existe garanta de que una cookie persistente permanecer en el equipo de un usuario durante el periodo de tiempo especificado.

    Las cookies son menos seguras si las comparamos con las opciones de administracin del estado en el lado del servidor. Las cookies tambin estn sujetas a la manipulacin. Lo usuarios pueden manipular cookies en su equipo, lo que puede representar potencialmente un compromiso de seguridad o puede hacer que la aplicacin que depende de la cookie pueda fallar.

    Tambin existe un lmite sobre cunta informacin puede almacenarse en una cookie ya que los equipos cliente tienen restricciones en el tamao de los archivos. Adems, cada cookie individual puede contener una cantidad limitada de informacin, no ms de 4 kilobytes (KB).

    Vencimiento

    Seguridad

    Informacin limitada

  • Administracin del estado 13

    El archivo Global.asax

    Slo un archivo Global.asax por aplicacin Web

    Almacenado en la raz del directorio virtual de la aplicacin Web

    Utilizado para gestionar eventos de aplicacin y de sesin

    El archivo Global.asax es opcional

    ***

    El archivo global.asax es un archivo declarativo que se utiliza para la gestin de eventos mientras la aplicacin Web se est ejecutando.

    Algunas de las caractersticas del archivo global.asax son:

    Por cada aplicacin Web ASP.NET se soporta un archivo global.asax. El archivo global.asax se almacena en la raz del directorio virtual de la

    aplicacin Web. El archivo global.asax puede gestionar eventos de aplicacin y de sesin

    (inicio y final) que pueden utilizarse para inicializar variables de aplicacin y de sesin.

    El archivo global.asax es opcional. Si no definimos el archivo, el marco de trabajo de las pginas ASP.NET asume que no hemos definido ningn controlador de eventos de aplicacin o sesin.

    Introduccin

  • 14 Administracin del estado

    El archivo global.asax (continuacin)

    Servidor Web ASP.NET

    Cliente

    ASP.NET HTTP RuntimeASP.NET HTTP Runtime

    IISIIS

    Application_BeginRequestApplication_BeginRequest

    Application_AuthenticateRequestApplication_AuthenticateRequest

    Application_AuthorizeRequestApplication_AuthorizeRequest

    Application_ResolveRequestCacheApplication_ResolveRequestCache

    Application_AquireRequestStateApplication_AquireRequestState

    Application_PreRequestHandlerExecuteApplication_PreRequestHandlerExecute

    Application_EndRequestApplication_EndRequest

    Application_UpdateRequestCacheApplication_UpdateRequestCache

    Application_ReleaseRequestStateApplication_ReleaseRequestState

    Application_PostRequestHandlerExecuteApplication_PostRequestHandlerExecute

    Ejecucin de la pginaEjecucin de la pgina

    PeticinPeticin RespuestaRespuesta

    ***

    El archivo global.asax es un archivo declarativo que se utiliza para gestionar eventos mientras la aplicacin Web se est ejecutando.

    El archivo global.asax soporta tres categoras de eventos:

    Eventos que se invocan cuando se solicita una pgina. Eventos que se invocan cuando se enva la pgina solicitada. Eventos de aplicacin condicionales.

    La siguiente tabla lista los eventos que se invocan cuando se solicita una pgina.

    Nombre del evento Descripcin Application_BeginRequest Este evento se invoca cada vez que se

    recibe una nueva peticin.

    Application_AuthenticateRequest Este evento indica que la peticin est preparada para ser autenticada.

    Application_AuthorizeRequest Este evento indica que la peticin est preparada para ser autorizada.

    Application_ResolveRequestCache Este evento es utilizado por el mdulo de la cach de salida para detener el procesamiento de peticiones que han sido almacenadas en cach.

    Application_AcquireRequestState Este evento indica que debera obtenerse el estado para cada peticin.

    Introduccin

    Categoras de eventos

    Eventos invocados cuando se solicita una pgina

  • Administracin del estado 15

    Application_PreRequestHandlerExecute Este evento indica que el gestor de peticiones est a punto de ejecutarse.

  • 16 Administracin del estado

    Global.asax tambin incluye eventos invocados cuando la pgina solicitada se enva de vuelta al cliente. La siguiente tabla lista estos eventos.

    Nombre del evento Descripcin Application_PostRequestHandlerExecute Este evento es el primero disponible

    despus de que el controlador, como una pgina ASP.NET o un servicio Web, haya finalizado su trabajo.

    Application_ReleaseRequestState Este evento se invoca cuando el estado de la peticin debe almacenarse, porque la aplicacin Web ASP.NET finaliza con l.

    Application_UpdateRequestCache Este evento indica que el procesamiento de cdigo ha finalizado y que el archivo est preparado para ser agregado a la cach de ASP.NET.

    Application_EndRequest Este evento es el ltimo evento que se invoca cuando finaliza la aplicacin Web ASP.NET.

    Los eventos de aplicacin condicionales son eventos que pueden o no ser lanzados durante le procesamiento de una peticin. La siguiente tabla muestra algunos de los eventos de aplicacin condicionales ms habituales.

    Nombre del evento Descripcin Application_Start Este evento se invoca cuando se inicia

    una aplicacin Web ASP.NET.

    Application_End Este evento es otro evento de ocurrencia nica. Es el evento recproco de Application_Start; se invoca cuando se cierra la aplicacin Web ASP.NET.

    Session_Start Este evento se invoca cuando se inicia la Session de un usuario en una aplicacin Web ASP.NET.

    Session_End Este evento es un evento reciproco de Session_Start; este evento se invoca cuando finaliza la sesin de un usuario.

    Application_Error Este evento se invoca cuando ocurre un error no controlado en una aplicacin Web ASP.NET.

    Eventos invocados cuando se enva la pgina solicitada

    Eventos de aplicacin condicionales

  • Administracin del estado 17

    Leccin: variables de aplicacin y de sesin

    Inicializar variables de aplicacin y de sesin

    Utilizar variables de aplicacin y de sesin

    Demostracin: uso de las variables de sesin

    Duracin de las variables de aplicacin y de sesin

    Almacenamiento escalable de variables de aplicacin y de sesin

    Almacenar las variables de aplicacin y de sesin en una base de datos

    ***

    Podemos utilizar las variables de aplicacin y de sesin para compartir informacin entre las pginas de una aplicacin Web ASP.NET. En esta leccin, estudiaremos cmo inicializar y utilizar las variables de aplicacin y de sesin. Tambin estudiaremos cmo especificar la duracin de las variables de aplicacin y de sesin y cmo afectan al almacenamiento escalable. Finalmente, estudiaremos cmo almacenar las variables de aplicacin y de sesin en una base de datos.

    En esta leccin, aprenderemos a:

    Inicializar variables de aplicacin y de sesin. Establecer y leer variables de aplicacin y de sesin. Modificar la duracin de la variable de aplicacin y de sesin. Describir los mtodos en el proceso y fuera del proceso utilizados para

    almacenar el estado de sesin. Almacenar variables de aplicacin y de sesin en una base de datos.

    Introduccin

    Objetivos de la leccin

  • 18 Administracin del estado

    Inicializar variables de aplicacin y de sesin

    Las variables se inicializan en Global.asaxz El objeto Application comparte informacin entre todos

    los usuarios de una aplicacin Web

    z El objeto Session almacena informacin para una sesin de usuario concreta

    Sub Application_Start(s As Object,e As EventArgs) Application("NumberofVisitors") = 0

    End Sub

    Sub Application_Start(s As Object,e As EventArgs) Application("NumberofVisitors") = 0

    End Sub

    protected void Application_Start(Object sender,EventArgs e){

    Application["NumberofVisitors"] = 0;}

    protected void Application_Start(Object sender,EventArgs e){

    Application["NumberofVisitors"] = 0;}

    ***

    Inicializamos las variables de aplicacin y de sesin en los procedimientos de eventos Start de los objetos Application y Session del archivo global.asax.

    Utilizamos el objeto Session para almacenar la informacin necesaria de una sesin de usuario concreta. Las variables que se almacenan en el objeto Session no se desecharn cuando el usuario viaje por las distintas pginas de la aplicacin Web. En lugar de ello, estas variables persistirn durante toda la sesin del usuario.

    El siguiente cdigo de ejemplo muestra cmo se utilizan las variables de sesin para almacenar el esquema de colores preferido de una determinada sesin de usuario:

    Sub Session_Start(ByVal Sender As Object, _ ByVal e As EventArgs) Session("BackColor") = "beige" Session("ForeColor") = "black" End Sub protected void Session_Start(Object sender, EventArgs e) { Session["BackColor"] = "beige"; Session["ForeColor"] = "black"; }

    Introduccin

    Variables de sesin

    Visual Basic .NET

    C#

  • Administracin del estado 19

    Podemos utilizar el objeto Application para compartir informacin de estado entre todos los usuarios de una aplicacin Web. Cuando el primer usuario de la aplicacin Web solicita un archivo .aspx, se crea un objeto Application. El objeto Application se destruye cuando todos los usuarios han abandonado la aplicacin Web y, a continuacin, se descarga la aplicacin Web.

    Por ejemplo, podramos almacenar el nmero total de visitantes de un sitio Web en una variable de nivel de aplicacin:

    Sub Application_Start(ByVal Sender As Object, _ ByVal e As EventArgs) Application("NumberofVisitors") = 0 End Sub protected void Application_Start(Object sender, EventArgs e) { Application["NumberofVisitors"] = 0; }

    Variables de aplicacin

    Visual Basic .NET

    C#

  • 20 Administracin del estado

    Utilizar variables de aplicacin y de sesin

    Establecer variables de aplicacin y sesin

    Leer variables de aplicacin y de sesin

    Session("BackColor") = "blue"Application.Lock()Application("NumberOfVisitors") += 1

    Application.UnLock()

    Session("BackColor") = "blue"Application.Lock()Application("NumberOfVisitors") += 1

    Application.UnLock()

    strBgColor = Session("BackColor")lblNbVisitor.Text = Application("NumberOfVisitors")

    strBgColor = Session("BackColor")lblNbVisitor.Text = Application("NumberOfVisitors")

    Session["BackColor"] = "blue";Application.Lock();Application["NumberOfVisitors"] =

    (int)Application["NumberOfVisitors"] + 1;Application.UnLock();

    Session["BackColor"] = "blue";Application.Lock();Application["NumberOfVisitors"] =

    (int)Application["NumberOfVisitors"] + 1;Application.UnLock();

    strBgColor = (string)Session["BackColor"];lblNbVisitor.Text = Application["NumberOfVisitors"].ToString();

    strBgColor = (string)Session["BackColor"];lblNbVisitor.Text = Application["NumberOfVisitors"].ToString();

    ***

    Para utilizar variables de aplicacin y de sesin en ASP.NET, simplemente utilizamos una clave de cadena y establecemos un valor.

    Para establecer la variable de sesin, debemos proporcionar una clave que identifique el elemento que estamos almacenando, utilizando una instruccin como la siguiente:

    Session("BackColor") = "blue" La instruccin anterior agrega una clave, denominada BackColor, al estado de sesin con el valor blue.

    Puede accederse a las variables de aplicacin en un entorno de mltiples usuarios; por ello, cuando se actualicen los datos de Application, debemos evitar que otros usuarios o aplicaciones actualicen los datos simultneamente. ASP.NET proporciona un sencillo conjunto de mtodos de bloqueo, Application.Lock() y Application.UnLock(), que pueden utilizarse para evitar el acceso mltiple y simultneo de la variable de aplicacin. El siguiente cdigo muestra el uso de los mtodos Application.Lock() y Application.UnLock():

    Application.Lock() Application("NumberOfVisitors") += 1 Application.UnLock() Application.Lock(); Application["NumberofVisitors"] = (int)Application["NumberOfVisitors"] + 1; Application.UnLock();

    Introduccin

    Establecer variables de aplicacin y de sesin

    Visual Basic .NET

    C#

  • Administracin del estado 21

    Para utilizar una variable de sesin o de aplicacin en una pgina ASP.NET, simplemente necesitamos leer el valor del objeto Session o Application:

    strBgColor = Session("BackColor") lblNbVisitor.Text = Application("NumberOfVisitors") strBgColor = (string)Session["BackColor"]; lblNbVistitor.Text = Application["NumberofVisitors"].ToString();

    Leer variables de aplicacin y de sesin

    Visual Basic.NET

    C#

  • 22 Administracin del estado

    Demostracin: uso de las variables de sesin

    Inicializar una variable de sesin (un nmero) en global.asax

    Acceder a la variable de sesin desde una pgina

    Acceder a la variable de sesin desde otra pgina y modificarla

    Volver a acceder a la variable de sesin desde la primera pgina

    ***

    En esta demostracin, aprenderemos a utilizar variables de sesin.

    El cdigo para esta demostracin se encuentra en los proyectos Demo12VB y Demo12CS que se pueden encontrar dentro del fichero demos12.zip.

    Ejecutar la demostracin 1. Abrir el proyecto Demo12VB o Demo12CS. 2. Abrir la pgina de cdigo subyacente de global.asax. 3. Inicializar una variable de sesin, denominada intNumber a 3, agregando el

    siguiente cdigo al procedimiento de evento Session_Start: Session("intNumber") = 3 Session["intNumber"] = 3;

    4. Abrir los archivos UsingSessionVar1.aspx y UsingSessionVar2.aspx. Se recupera la variable de sesin y se muestra en el procedimiento de evento Page_Load.

    5. Generar y examinar la pgina UsingSessionVar1.aspx. Se muestra el valor de la variable de sesin, 3.

    6. Hacer clic en Next Page. Se abre la pgina UsingSessionVar2.aspx, incrementa la variable de sesin en 4, y muestra el nuevo valor, 7.

    7. Hacer clic en Previous Page para regresar a UsingSessionVar1.aspx, que muestra el nuevo valor de la variable de sesin.

    Introduccin

    Visual Basic .NET

    C#

  • Administracin del estado 23

    Duracin de la variable de sesin y de aplicacin

    Las variables de sesin tienen una duracin establecida tras el ltimo accesoz 20 minutos es la duracin predeterminada

    La duracin de la sesin puede modificarse en Web.config:

    Las variables de aplicacin persisten hasta que se provoca el evento Application_End

    ***

    HTTP es un protocolo sin estado. Un servidor Web no tiene medios para detectar cuando un usuario abandona un sitio Web. En cambio, el servidor Web detecta que ha transcurrido un determinado periodo de tiempo sin que el usuario solicite una pgina. En ese momento, el servidor Web asume que el usuario ha abandonado el sitio Web y elimina todos los elementos del estado de sesin asociados a ese usuario.

    De forma predeterminada, el tiempo de una sesin finaliza cuando un usuario no ha solicitado ninguna pgina durante ms de 20 minutos. Si el mismo usuario solicita una pgina transcurridos 20 minutos, ser tratado como un nuevo usuario.

    Establecer duraciones de sesin ms cortas permite al sitio Web ahorrar recursos en el servidor Web. En cambio, si nuestra previsin es que el usuario pase ms de 20 minutos en nuestro sitio Web, deberamos establecer una duracin de sesin ms larga.

    Podemos modificar la duracin de la sesin en el archivo Web.config. Los archivos Web.config son archivos Extensible Markup Language (XML) estndares y legibles por parte del usuario que podemos abrir y modificar con cualquier editor de texto. Por ejemplo, en el siguiente archivo Web.config, la duracin de la sesin est establecida en 10 minutos:

    Introduccin

    Duracin predeterminada de la sesin

    Nota

    Modificar la duracin de la sesin

  • 24 Administracin del estado

    Las variables de aplicacin persisten hasta que se invoca el evento Application_End. Application_End se invoca inmediatamente antes del final de todas las instancias de la aplicacin.

    Variable de aplicacin

  • Administracin del estado 25

    Almacenamiento escalable de variables de aplicacin y de sesin y

    Por defecto, el estado de sesin se administra en proceso (in process) Inconveniente del almacenamiento en proceso:

    z No escalable ASP.NET proporciona almacenamiento fuera del proceso (out of process)

    del estado de sesinz El estado puede almacenarse en una base de datos SQL Server o un

    servidor de estado Ventajas del almacenamiento fuera del proceso:

    z Escalabilidad

    SQL

    Variables de sesin y de aplicacin

    Cliente

    Granja Web

    Variables de sesin y de aplicacin

    -O-

    Servidor de estado

    ***

    Por defecto, el estado de sesin se administra en proceso (in process). En proceso significa que toda la informacin que se agrega a un estado de sesin se almacena en el mismo servidor Web que est ejecutando la aplicacin Web ASP.NET. Sin embargo, el almacenamiento en proceso del estado de sesin tiene algunos inconvenientes importantes.

    Uno de los principales inconvenientes del almacenamiento del estado de sesin en proceso es que limita la escalabilidad de nuestro sitio Web. No podemos configurar mltiples servidores para gestionar peticiones.

    ASP.NET ofrece dos mtodos que pueden utilizarse para almacenar estado de sesin fuera de proceso (out of process). Podemos:

    Administrar el estado de sesin en una base de datos SQL Server. Administrar el estado de sesin en un servidor de estado distinto.

    Cualquier servidor basado en Microsoft Windows puede ser un servidor de estado.

    Para almacenar el estado de sesin fuera de proceso, debemos modificar el archivo Web.config para establecer el modo sessionstate con el valor sqlserver o stateserver, y especificar la ubicacin del servidor. La opcin sqlserver es similar a la opcin stateserver, salvo en que en la primera la informacin persiste en SQL Server en lugar de almacenarse en la memoria del equipo.

    La principal ventaja de separar el almacenamiento del estado de sesin de la aplicacin Web es que podemos utilizar un servidor de estado externo o un equipo que ejecute SQL Server para almacenar el estado de sesin, haciendo por tanto que la aplicacin Web sea escalable. Para conseguir aplicaciones Web

    Introduccin

    Inconveniente del almacenamiento en proceso

    Fuera de proceso

    Ventaja del almacenamiento fuera de proceso

  • 26 Administracin del estado

    ASP.NET escalables, el estado de sesin debe estar compartido por mltiples servidores que soporten el escenario de granja Web. En un escenario de granja Web, mltiples servidores estn configurados para gestionar las peticiones de los usuarios y, en consecuencia, stas pueden ser ruteadas dinmicamente desde un servidor a otro sin perder las variables de aplicacin y de sesin. Adems, las variables de sesin pueden recuperarse desde cualquier servidor de la granja Web, ya que estn almacenadas en un equipo distinto que ejecuta SQL Server o en un servidor de estado.

  • Administracin del estado 27

    Almacenar variables de aplicacin y de sesin en una base de datos

    Configurar el estado de sesin en Web.configz Modo establecido a sqlserver o stateserver

    A continuacin, configurar el servidor SQL Server

    z OSQL crea varios procedimientos almacenados y bases de datos temporales para almacenar las variables

    c:\> OSQL S SQLServerName E OSQL S SQLServerName E

  • 28 Administracin del estado

    c:\> OSQL S SQLServerName -E

  • Administracin del estado 29

    Leccin: sesiones con y sin cookies

    Utilizar cookies para almacenar datos de sesin

    Prctica dirigida por el instructor: utilizar variables y cookies

    Recuperar informacin de una cookie

    Uso de sesiones que no utilizan cookies

    Configurar sesiones que no utilizan cookies

    ***

    Las cookies son un medio por el cual la aplicacin Web que se ejecuta en el servidor Web puede hacer que un cliente devuelva informacin al servidor Web con cada solicitud HTTP. La devolucin de informacin puede utilizarse para mantener el estado con el cliente entre mltiples peticiones. Las cookies se envan al cliente como parte del encabezado HTTP en una solicitud del cliente, o se envan en una respuesta del servidor.

    En esta leccin, estudiaremos cmo utilizar cookies para almacenar datos de sesin, y cmo recuperar esos datos de una cookie. Tambin estudiaremos las sesiones que no utilizan cookies y cmo se establecen.

    En esta leccin, aprenderemos a:

    Utilizar cookies para almacenar datos de sesin. Recuperar informacin de una cookie. Describir sesiones que no utilizan cookies. Establecer una sesin que no utiliza cookies.

    Introduccin

    Objetivos de la leccin

  • 30 Administracin del estado

    Utilizar cookies para almacenar datos de sesin

    Crear una cookie:

    La cookie contiene informacin sobre el nombre de dominio

    HttpCookie objCookie = new HttpCookie("myCookie");DateTime now = DateTime.Now;

    objCookie.Values.Add("Time", now.ToString());objCookie.Values.Add("ForeColor", "White");objCookie.Values.Add("BackColor", "Blue");

    Response.Cookies.Add(objCookie);

    HttpCookie objCookie = new HttpCookie("myCookie");DateTime now = DateTime.Now;

    objCookie.Values.Add("Time", now.ToString());objCookie.Values.Add("ForeColor", "White");objCookie.Values.Add("BackColor", "Blue");

    Response.Cookies.Add(objCookie);

    HttpCookie objCookie = new HttpCookie("myCookie");DateTime now = DateTime.Now;

    objCookie.Values.Add("Time", now.ToString());objCookie.Values.Add("ForeColor", "White");objCookie.Values.Add("BackColor", "Blue");

    objCookie.Expires = now.AddHours(1);

    Response.Cookies.Add(objCookie);

    HttpCookie objCookie = new HttpCookie("myCookie");DateTime now = DateTime.Now;

    objCookie.Values.Add("Time", now.ToString());objCookie.Values.Add("ForeColor", "White");objCookie.Values.Add("BackColor", "Blue");

    objCookie.Expires = now.AddHours(1);

    Response.Cookies.Add(objCookie); Para crear una cookie persistente, especificar el tiempo de expiracin

    Set-Cookie: Username=John+Chen; path=/; domain=microsoft.com;Expires=Tuesday, 01-Feb-05 00.00.01 GMT

    Set-Cookie: Username=John+Chen; path=/; domain=microsoft.com;Expires=Tuesday, 01-Feb-05 00.00.01 GMT

    ***

    Podemos crear cookies utilizando la propiedad Cookies del objeto Response y la clase Request. La propiedad Cookies representa una coleccin de cookies y es una instancia de la clase HttpCookieCollection.

    El siguiente cdigo crea una nueva cookie denominada myCookie:

    Dim objCookie As New HttpCookie("myCookie") Dim now As DateTime = DateTime.Now HttpCookie objCookie = new HttpCookie("MyCookie"); DateTime now = DateTime.Now; El siguiente cdigo agrega un par de claves y valores:

    objCookie.Values.Add("Time", now.ToString()) objCookie.Values.Add("ForeColor", "White") objCookie.Values.Add("BackColor", "Blue") objCookie.Values.Add("Time", now.ToString()); objCookie.Values.Add("ForeColor", "White"); objCookie.Values.Add("BackColor", "Blue"); El siguiente cdigo establece en una hora el tiempo de expiracin de la cookie:

    objCookie.Expires = now.AddHours(1)

    Introduccin

    Crear una cookie

    Visual Basic .NET

    C#

    Visual Basic .NET

    C#

    Hacer una cookie persistente

    Visual Basic .NET

    C#

  • Administracin del estado 31

    objCookie.Expires = now.AddHours(1);

  • 32 Administracin del estado

    Si no agregamos el cdigo anterior cuando creamos una cookie, sta ser una cookie temporal. La cookie temporal se aade a la memoria del navegador, pero no se almacenar en un archivo. Cuando el usuario cierra el explorador, la cookie se elimina de la memoria.

    Agregar el cdigo sobre el tiempo de expiracin convierte la cookie temporal en una cookie persistente. La cookie persistente se guarda en el disco duro. Con una cookie persistente, si el usuario cierra el explorador y lo abre de nuevo, puede acceder a la misma pgina Web otra vez hasta que la cookie persistente expire. La expiracin de la cookie persistente depende del tiempo de expiracin establecido en el cdigo. En el cdigo anterior, la cookie persistente se eliminar transcurrida una hora.

    Frecuentemente, las cookies persistentes a menudo se utilizan para almacenar informacin sobre nombres e identificadores de usuario para que el servidor pueda identificar a los usuarios cuando regresen al sitio Web.

    El siguiente cdigo agrega la nueva cookie a la coleccin de cookies del objeto Response:

    Response.Cookies.Add(objCookie) Response.Cookies.Add(objCookie); Supongamos que deseamos crear una cookie, denominada Username, que contiene el nombre de un visitante a nuestro sitio Web. Para crear esta cookie, el servidor Web enviar un encabezado HTTP como muestra el siguiente cdigo:

    Set-Cookie: Username=John+Chen; path=/; domain=microsoft.com; Expires=Tuesday, 01-Feb-05 00.00.01 GMT El encabezado del cdigo de ejemplo anterior manda al navegador que agregue una entrada a su archivo cookie. El explorador agrega la cookie, denominada Username, con el valor John Chen.

    El atributo domain del cdigo de ejemplo anterior limita el dominio dnde el navegador puede enviar la cookie. En el cdigo de ejemplo anterior, la cookie nicamente puede enviarse al sitio Web Microsoft.com. La cookie nunca se enviar a ningn otro sitio Web de Internet.

    Despus de que el servidor Web cree una cookie, el navegador la devuelve en cada peticin que realiza a ese sitio Web. El explorador devuelve la cookie en un encabezado similar al siguiente:

    Cookie: Username: John+Chen Las cookies que se almacenan en formato de archivo de texto son las cookies persistentes. De forma predeterminada, este archivo se almacena en la carpeta \Documents and Settings\NombreUsuario\Cookies.

    Cuando las cookies persistentes se almacenan utilizando Internet Explorer, el formato del archivo de texto es:

    [email protected]

    Nota

    Visual Basic .NET

    C#

    Cmo funcionan las cookies

  • Administracin del estado 33

    Prctica dirigida por el instructor: utilizar variables y cookies

    Los estudiantes:

    z Aprendern a utilizar las variables de aplicacin y de sesin, y las cookiespersistentes, para almacenar informacin del usuario

    Tiempo: 15 Minutos

    ***

    En esta prctica, veremos cmo se utilizan las variables de aplicacin y de sesin, y las cookies persistentes, para almacenar informacin del usuario.

    Iniciar sesin en la aplicacin Web 1. Abrir Internet Explorer e ir a:

    http://mquinaprofesor/Mod14VB/default.aspx o http://mquinaprofesor/Mod14CS/default.aspx.

    2. Escribir nuestro nombre en el cuadro de texto, seleccionar un color del cuadro de lista desplegable y hacer clic en Submit. Seremos redireccionados a results.aspx, que muestra nuestro nombre, color seleccionado y la fecha y hora en que accedimos por ltima vez a default.aspx. results.aspx tambin muestra el nmero de visitantes.

    3. Actualizar el explorador varias veces. Cada actualizacin produce un aumento en el nmero de visitantes, pero nuestro nombre y seleccin de color permanecen.

    4. Cerrar Internet Explorer. 5. Volver a abrir Internet Explorer e ir a:

    http://mquinaprofesor/Mod14VB/results.aspx o http://mquinaprofesor/Mod14CS/results.aspx. Aparece nuestro nombre, pero el color que escogimos anteriormente no se muestra. La fecha y hora de nuestro ltimo acceso a default.aspx tambin se muestra.

    Introduccin

    Probar la funcionalidad

  • 34 Administracin del estado

    6. Cerrar Internet Explorer. Por qu se recuerda nuestro nombre cuando volvemos a visitar el sitio, pero no el color seleccionado? _____________________________________________________________

    _____________________________________________________________

    Cmo hace la pgina el seguimiento del nmero de visitantes? _____________________________________________________________

    _____________________________________________________________

    Visualizar el cdigo 1. En el cuadro de direccin de Windows Explorer, escribir:

    \\mquinaprofesor\c$\inetpub\wwwroot\mod14VB o \\mquinaprofesor\c$\inetpub\wwwroot\mod14CS Y pulsar ENTER.

    2. Abrir la pgina de cdigo subyacente de la pgina Default.aspx. Qu dos acciones se producen en el procedimiento de evento btnSubmit_Click? _____________________________________________________________

    _____________________________________________________________

    3. En Windows Explorer, hacer doble clic en results.aspx.vb o results.aspx.cs para abrir el archivo de pgina de cdigo subyacente results.aspx en Visual Studio .NET. En el procedimiento de evento Page_Load, cmo se almacena el nmero de visitas en la pgina almacenada? _____________________________________________________________

    _____________________________________________________________

    Por qu el cdigo se ubica en una instruccin If en el procedimiento de evento Page_Load? _____________________________________________________________

    _____________________________________________________________

    4. Cerrar Visual Studio .NET.

  • Administracin del estado 35

    Visualizar la cookie 1. En Windows Explorer, ir al siguiente directorio del equipo:

    c:\Documents and Settings\Student\Cookies

    Si se ha iniciado sesin con un nombre de usuario distinto de Student, ir a la carpeta Cookies de esa cuenta de usuario.

    2. Hacer doble clic para abrir la cookie denominada student@equipoinstructor[n].txt, siendo n un nmero de instancia. Qu informacin podemos encontrar en esta cookie? ____________________________________________________________

    ____________________________________________________________

    3. Cerrar Notepad y Windows Explorer.

    Nota

  • 36 Administracin del estado

    Recuperar informacin de una cookie

    Leer la cookie

    Recuperar valores de la cookie lblTime.Text = objCookie.Values("Time")lblTime.ForeColor = System.Drawing.Color.FromName _

    (objCookie.Values("ForeColor"))lblTime.BackColor = System.Drawing.Color.FromName _

    (objCookie.Values("BackColor"))

    lblTime.Text = objCookie.Values("Time")lblTime.ForeColor = System.Drawing.Color.FromName _

    (objCookie.Values("ForeColor"))lblTime.BackColor = System.Drawing.Color.FromName _

    (objCookie.Values("BackColor"))

    Dim objCookie As HttpCookie = Request.Cookies("myCookie")Dim objCookie As HttpCookie = Request.Cookies("myCookie")

    HttpCookie objCookie = Request.Cookies["myCookie"];HttpCookie objCookie = Request.Cookies["myCookie"];

    lblTime.Text = objCookie.Values["Time"];lblTime.ForeColor = System.Drawing.Color.FromName

    (objCookie.Values["ForeColor"]);lblTime.BackColor = System.Drawing.Color.FromName

    (objCookie.Values["BackColor"]);

    lblTime.Text = objCookie.Values["Time"];lblTime.ForeColor = System.Drawing.Color.FromName

    (objCookie.Values["ForeColor"]);lblTime.BackColor = System.Drawing.Color.FromName

    (objCookie.Values["BackColor"]);

    ***

    Recuperar informacin de una cookie implica leer una cookie y recuperar los pares clave/valor de la misma.

    El cliente devuelve al servidor una cookie en un encabezado HTTP "Cookie:". En este encabezado pueden aparecer mltiples cookies, separadas por punto y coma. Para leer una cookie existente, podemos acceder a la coleccin de cookies del objeto Request, como muestra el siguiente cdigo:

    Dim objCookie As HttpCookie = Request.Cookies("myCookie") HttpCookie objCookie = Request.Cookies["myCookie"]; El siguiente cdigo muestra los valores que deben recuperarse de una cookie:

    lblTime.Text = objCookie.Values("Time") lblTime.ForeColor = System.Drawing.Color.FromName _ (objCookie.Values("ForeColor")) lblTime.BackColor = System.Drawing.Color.FromName _ (objCookie.Values("BackColor")) lblTime.Text = objCookie.Values["Time"]; lblTime.ForeColor = System.Drawing.Color.FromName (objCookie.Values["ForeColor"]); lblTime.BackColor = System.Drawing.Color.FromName (objCookie.Values["BackColor"]);

    Introduccin

    Leer una cookie

    Visual Basic

    C#

    Recuperar valores de la cookie

    Visual Basic .NET

    C#

  • Administracin del estado 37

    Uso de sesiones que no utilizan cookies

    Cada sesin activa est identificada y se realiza su seguimiento utilizando IDs de sesin

    Los IDs de sesin se comunican entre peticiones cliente-servidor utilizando una cookie HTTP o incluyndolos en la URL

    Sesiones que no utilizan cookiesz La informacin de ID de sesin est codificada en URLs

    z No pueden utilizar URLs absolutas z La mayora de navegadores limitan el tamao de la URL

    a 255 caracteres, lo cual limita el uso de IDs para las sesiones que no utilizan cookies

    http://server/(h44a1e55c0breu552yrecobl)/page.aspxhttp://server/(h44a1e55c0breu552yrecobl)/page.aspx

    ***

    Cada sesin activa est identificada y se realiza su seguimiento utilizando un identificador de sesin SessionID. El SessionID se comunica entre peticiones cliente-servidor utilizando una cookie HTTP o incluyndolo en la URL. De forma predeterminada, SessionID se almacena en cookies.

    Sin embargo, los usuarios pueden deshabilitar cookies mediante una configuracin en sus navegadores. Si la cookie no puede agregarse al navegador de un usuario, cada peticin que realice el usuario iniciar una nueva sesin de usuario. Los datos de sesin asociados a ese usuario se pierden cuando se solicita una nueva pgina.

    El marco de trabajo de las pginas ASP.NET incluye una opcin que habilita sesiones que no utilizan cookies. Las sesiones que no utilizan cookies permiten aprovechar el estado de sesin incluso con navegadores que tienen deshabilitado el soporte de cookies.

    Cuando un usuario realiza la primera peticin a un sitio Web teniendo habilitado sesiones que no utilizan cookies, la URL que se utiliza para la peticin se modifica automticamente para incluir el SessionID del usuario. Por ejemplo, cuando un usuario solicita http://server/page.aspx, la solicitud se modifica automticamente a:

    http://server/(h44a1e55c0breu552yrecobl)/page.aspx la parte de la URL que aparece en parntesis es el SessionID del usuario actual.

    Despus de que el SessionID se incluya en la URL de la peticin de la primera pgina, el SessionID hace seguimiento del usuario durante su visita al sitio Web.

    Introduccin

    Sesiones que no utilizan cookies

  • 38 Administracin del estado

    Existen algunas limitaciones en el uso sesiones que no utilizan cookies:

    Si decidimos utilizar sesiones que no utilizan cookies, no podemos utilizar URLs absolutas para los enlaces entre pginas. El sitio Web debe disearse de forma que cada enlace utilice una URL relativa a la pgina actual.

    La mayora de navegadores limitan el tamao de la URL a 255 caracteres.

    Limitacin de las sesiones que no utilizan cookies

  • Administracin del estado 39

    Configuracin de sesiones que no utilizan cookies

    El estado de sesin se configura en la seccin de Web.config

    Configurar cookieless = true

    ***

    Para habilitar sesiones que no utilizan cookies, es necesario modificar un nico atributo del archivo Web.config.

    En la seccin del archivo Web.config, el atributo cookieless est establecido al valor true. Para habilitar sesiones que no utilizan cookies, lo nico que debemos hacer es establecer este valor, como muestra el siguiente cdigo:

    Introduccin

    Configurar una sesin que no utiliza cookies