resumen unidad 06 - parte 1

13
Tecnología de Desarrollo de Software IDE Unidad 06 – Parte 1 Aplicaciones Web (ASP.NET)

Upload: agustin-zagaglia-apezteguia

Post on 14-Sep-2015

223 views

Category:

Documents


5 download

DESCRIPTION

resumen

TRANSCRIPT

Tecnologa de Desarrollo de Software IDE

Unidad 06 Parte 1

Aplicaciones Web (ASP.NET)

Fundamentos de Internet Arquitectura Cliente / Servidor Hypertext Transfer Protocol (HTTP) Protocolo ms importantes del Web Define como se comunican navegadores y servidores Web Basado en texto Transmitido sobre conexiones TCP HTML Forms Porcin de un documento HTML que aparece entre las etiquetas

Cmo funciona HTTP?1 Cliente ingresa direccin web, conjuntamente se envan el IP y el n de Puerto de la PC al Servidor (HTTP Request)2 El servidor recibe la direccin web y el IP, recupera el cdigo de la pgina y la enva al Cliente, luego ste visualiza la pgina a la que ingres (HTTP Response)

HTML Forms: GET/POST Botn submit rol en un HTML Form: Cuando es pulsado, el navegador enva el HTML Form junto con cualquier entrada de datos del usuario al servidor Web Cmo el HTML Form es enviado, depender del atributo Method del form: Si Method = GET (o no est presente), el navegador enviar al servidor un comando HTTP GET Si Method = POST, el navegador enviar al servidor un comando HTTP POST

HTML Forms: PostBackAtributos de Formulario El tag define como sern procesados grupos de controles. El tag es diferente que el Formulario Web actual que es usado para definir la pgina Web entera. El atributo define como los controles sern procesados. Se puede tener varios formularios HTML sobre la pgina, pero solo se puede tener un formualrio server-side en una pgina .aspx. El siguiente es un tpico tag : ... Los atributos del tag incluyen entre otros al atributo Method El atributo Method identifica el mtodo para enviar valores de los controles de vuelta al servidor. Las opciones para este atributo son: Post: Los datos son pasados en pares nombre/valor dentro el cuerpo de la peticin HTTP (Hypertext Transfer Protocol). Get : Los datos son pasados en una cadena de consulta (query string).

Procesamiento en el Servidor Construir la parte del cliente es fcil: Es slo HTML Construir la lgica del servidor es la difcil: Algo en el servidor tiene que interpretar las entradas del usuario enviadas junto con el form y generar la correspondiente salida.

ASP.NET Presentacin

Framework de programacin web de .NET Permite desarrollar aplicaciones Web con un modelo similar al utilizado para aplicaciones Windows Componente fundamental de ASP.NET: WebForm Independencia del cliente (navegador, S.O., dispositivo fsico, etc.) Permite utilizar cualquier lenguaje .NET Permite desarrollar Servicios Web XML

ASP.NET Caractersticas La parte ejecutable de una aplicacin ASP.NET es COMPILADA Implementacin y actualizacin de las aplicaciones sin reiniciar el servidor! Acceso a toda la BCL del .NET Framework Independiente del lenguaje de programacin Administracin automtica del estado de los controles Web (VIEWSTATE) UI a travs de controles de servidor y controles de usuario. Permite usar ADO.NET para acceso a datos Soporta XML, Hojas de estilo CSS, Themes, Skins, Master Pages, etc. Deteccin automtica del navegador cliente, generando el lenguaje de marcas soportado por el mismo Mecanismo de Caching incorporado para pginas completa o partes de la misma, frecuentemente solicitadas

Modelo de Ejecucion ASP.Net - Primera PeticinCuando un cliente peticiona por primera vez una pagina Web, ocurren los siguientes eventos:1. El cliente desde su explorador emite una peticin GET HTTP al servidor2. El analizador (parser) de ASP.NET interpreta el cdigo3. Si el cdigo no esta actualmente compilado dentro de una librera (DLL), ASP.NET invoca al compilador4. El runtime carga y ejecuta el cdigo intermedio (MSIL Microsoft intermediate language)

Modelo de Ejecucion ASP.Net - Segunda PeticinCuando el cliente peticiona por segunda vez la misma pagina Web, lo siguiente ocurre:1. El cliente emite una peticin GET HTTP al servidor2. Runtime carga e inmediatamente ejecuta el cdigo MSIL que ya fu compilado durante la primer peticin.

Aplicacin ASP.NET: Componentes WebForms (Formularios Web o pginas ASPX) Uno o ms archivos con extensin .aspx Archivos Code-Behind Archivos asociados a WebForms que contienen cdigo del lado del servidor (Ej. VB.NET, C#, etc.) Archivos de Configuracin (formato XML) Un archivo Web.config por c/aplicacin Un nico archivo Machine.config por servidor Global.asax Eventos a nivel de aplicacin Directorio BIN Contiene el assembly de la aplicacin (Ej.: MiAplic.dll) Cero o ms assemblies (Componentes externos) Enlaces a Servicios Web XML Permiten a la aplicacin ASP.NET enviar y recibir datos desde Servicios Web Conexiones a bases de datos Permiten la manipulacin de datos Mecanismo de Caching Permite responder al cliente de manera ms rpida despus de la primera solicitud

Formulario Web ASP.NET (.aspx)Las pginas de formularios Web Forms pueden usarse para crear pginas Web programables que sirvan como interfaz de usuario de las aplicaciones Web. Este tipo de pginas presenta la informacin al usuario en cualquier explorador o dispositivo cliente e implementa lgica de aplicacin mediante el cdigo de la parte servidor. La salida de las pginas de formularios Web Forms puede contener casi cualquier lenguaje compatible con HTTP, incluidos HTML, XML, WML y ECMAScript (JScript, JavaScript).Caractersticas de los Formularios Web Forms Basados en tecnologa Microsoft ASP.NET, en la que el cdigo que se ejecuta en el servidor genera de forma dinmica salida de pginas Web en un explorador o dispositivo cliente. Para obtener informacin detallada sobre ASP.NET. Compatible con cualquier explorador o dispositivo mvil. Las pginas de formularios Web Forms presentan automticamente el cdigo HTML adecuado al explorador para funciones tales como estilos, diseo, etc. Como alternativa, se pueden disear las pginas de formularios Web Forms para ejecutarse en un explorador determinado y aprovechar as todas las funciones de un cliente de explorador de nivel superior. Admiten cualquier lenguaje compatible con Common Language Runtime de .NET, incluidos MicrosoftVisualBasic, MicrosoftVisualC# y MicrosoftJScript.NET. Se crean en el entorno Microsoft .NET Framework. Esto proporciona todos los beneficios del marco de trabajo, incluidos un entorno administrado, seguridad de tipos y herencia. Respaldadas en Visual Studio por eficaces herramientas de desarrollo rpido de aplicaciones (RAD, Rapid Application Development) destinadas al diseo y la programacin de los formularios. Extensibles mediante controles que proporcionan posibilidades RAD al desarrollo Web, lo que permite crear con rapidez interfaces de usuario enriquecidas. Flexibles gracias a la posibilidad de incorporar a ellas controles creados por los usuarios y de otros fabricantes. Componentes de los formularios Web FormsEn las pginas de formularios Web Forms, la programacin de la interfaz de usuario se divide en dos partes independientes: el componente visual y el lgico. Si ha trabajado con herramientas como Visual Basic y Visual C++ anteriormente, reconocer esta divisin entre la parte visible de un formulario y el cdigo que se oculta detrs y que interacta con l.El elemento visual se conoce como la pgina de formularios Web Forms, y se compone de un archivo que contiene cdigo HTML esttico, o controles de servidor ASP.NET o ambos de forma simultnea.La pgina de formularios Web Forms funciona como un contenedor del texto y los controles estticos que se desea mostrar. Si se usa el Diseador de Web Forms de Visual Studio junto con controles de servidor ASP.NET, se pueden disear los formularios igual que se hara en cualquier aplicacin de Visual Studio.La lgica de las pginas de formularios Web Forms se compone del cdigo creado para interactuar con el formulario. La lgica de programacin reside en un archivo independiente del archivo de la interfaz de usuario. Este archivo se conoce como el archivo de "cdigo subyacente" y adopta la extensin ".aspx.vb" o ".aspx.cs". La lgica escrita en el archivo de cdigo subyacente puede estar en Visual Basic o en Visual C#. Los archivos de cdigo subyacente de todas las pginas de formularios Web Forms de un proyecto se compilan en un archivo de biblioteca de vnculos dinmicos (.dll). El archivo de pgina .aspx tambin se compila, pero de un modo distinto. La primera vez que un usuario examina la pgina .aspx con el explorador, ASP.NET genera automticamente un archivo de clase .NET que representa a la pgina y que la compila en un segundo archivo .dll. La clase generada para la pgina .aspx hereda de la clase del cdigo subyacente que se compil en el archivo .dll. Cuando un usuario solicita la direccin URL de la pgina Web, los archivos .dll se ejecutan en el servidor y producen de forma dinmica la salida HTML de la pgina.Ventajas que aportan las pginas de formularios Web FormsLa programacin de aplicaciones Web presenta retos que no surgen normalmente en la programacin tradicional de aplicaciones basadas en clientes. Entre estos retos se encuentran los siguientes: Implementar una interfaz de usuario Web enriquecida. Una interfaz de usuario con un diseo complejo, una gran cantidad de contenido dinmico y llena de objetos interactivos y plenos de funcionalidad puede resultar difcil y tediosa de disear e implementar si se utilizan herramientas HTML bsicas. Resulta particularmente difcil crear una interfaz de usuario enriquecida para aplicaciones que deban ejecutarse en muchos exploradores y plataformas de dispositivos clientes distintos. Separacin entre cliente y servidor. En las aplicaciones Web, el cliente (explorador) y el servidor son programas distintos que a menudo se ejecutan en equipos distintos e, incluso, en sistemas operativos diferentes. Por lo tanto, las dos mitades de la aplicacin comparten muy poca informacin; se pueden comunicar, pero normalmente intercambian slo pequeas porciones de informacin simple. Ejecucin independiente. Cuando un servidor Web recibe una peticin de una pgina, la busca, la procesa y la enva al explorador y, a continuacin, desecha toda la informacin sobre dicha pgina. Si el usuario solicita la pgina de nuevo, el servidor repite la secuencia completa, volviendo a procesar la pgina desde el principio. En otras palabras, los servidores no tienen memoria de las pginas que han procesado. Por lo tanto, si una aplicacin necesita mantener informacin sobre una pgina, esto se convierte en un problema que tiene que resolverse en el cdigo de la aplicacin. Posibilidades desconocidas del cliente. En muchos casos, las aplicaciones Web resultan accesibles a usuarios que poseen exploradores de distintos fabricantes y que, por tanto, ofrecen distinta funcionalidad, lo que hace muy difcil crear una aplicacin que se ejecute con la misma calidad en todos ellos. Complicaciones con el acceso a los datos. La lectura de los datos de un origen de datos y la escritura en el mismo puede resultar complicada con las aplicaciones Web tradicionales y hacer un gran uso de los recursos. Complicaciones con la escalabilidad. En muchos casos las aplicaciones Web diseadas con los mtodos existentes no pueden cumplir los objetivos de escalabilidad debido a la falta de compatibilidad entre sus distintos componentes. Este es a menudo el nico origen de los errores en aplicaciones sometidas a un ciclo de crecimiento intenso. Atajar estos retos de las aplicaciones Web puede requerir un tiempo y esfuerzo importantes. Las pginas de formularios Web Forms y el marco de trabajo de pginas ASP.NET tratan de solucionar estos temas de los modos siguientes: Modelo de objetos coherente e intuitivo. El marco de trabajo de pginas ASP.NET presenta un modelo de objetos que permite concebir los formularios como una unidad, no como partes cliente y servidor independientes. En este modelo, se puede programar el formulario de un modo ms intuitivo que en las aplicaciones Web tradicionales, ya que se incluye la capacidad de establecer las propiedades de los elementos del formulario y de responder a los eventos. Adems, los controladores de servidor ASP.NET son una abstraccin del contenido fsico de una pgina HTML y de la interaccin directa entre el explorador y el servidor. En general, se pueden usar los controles de servidor del mismo modo que se hara con los controles en una aplicacin cliente, pero sin tener que preocuparse por crear el cdigo HTML para presentar y procesar los controles y su contenido. Modelo de programacin controlado por eventos. Las pginas de formularios Web Forms aportan a las aplicaciones Web un modelo familiar que permite escribir controladores para los eventos que se producen en el cliente o en el servidor. El marco de trabajo de pginas ASP.NET compendia este modelo de tal modo que el mecanismo subyacente de captura de los eventos en el cliente, su transmisin al servidor y la llamada al mtodo apropiado se realiza de modo automtico e invisible para el implementador. El resultado es una estructura de cdigo clara y escrita con facilidad, compatible con el desarrollo controlado por eventos. Administracin intuitiva de los estados. El marco de trabajo de pginas ASP.NET gestiona automticamente las tareas de mantenimiento del estado del formulario y sus controles, y proporciona modos explcitos de mantener el estado de la informacin especfica a la aplicacin. Esto se logra sin una utilizacin abusiva de los recursos del servidor y puede implementarse tanto enviando como no enviando cookies al explorador. Aplicaciones independientes del explorador. El marco de trabajo de pginas ASP.NET permite crear toda la lgica de la aplicacin en el servidor, lo que elimina la necesidad de confeccionar cdigo explcito para las diferencias de los exploradores. Sin embargo, facilita el aprovechamiento automtico de las funciones especficas de cada explorador al escribir cdigo para la parte cliente con el fin de mejorar el rendimiento y de proporcionar una experiencia ms enriquecedora en la parte cliente. Compatibilidad con Common Language Runtime de .NET Framework. El marco de trabajo de pginas ASP.NET es una tecnologa de ASP.NET. ASP.NET se basa en .NET Framework, por lo que todo el marco de trabajo est disponible para cualquier aplicacin ASP.NET. Las aplicaciones pueden crearse en cualquier lenguaje compatible con CLR, entre ellos Microsoft Visual Basic, Visual C# y JScript.NET. Adems, el acceso a datos se ha simplificado mediante la infraestructura de acceso a datos que ofrece .NET Framework, incluido ADO.NET. Rendimiento de servidor escalable de .NET Framework. El marco de trabajo de pginas ASP.NET permite escalar las aplicaciones Web de un equipo con un nico procesador a una "batera de servidores Web" con varios equipos limpiamente y sin cambios complicados en la lgica de la aplicacin.

Modelo de Cdigo de Pgina WebASP.NET provee dos modelos para administrar los elementos visuales y el cdigo un modelo single-file y otro modelo llamado code-behind. Los dos modelos funcionan iguales y usted puede usar los mismos controles y cdigos en ambos modelos.En el modelo single-file, el HTML y el cdigo de programacin se almacena en el mismo .aspx. El cdigo de programacin es un bloque que contiene el atributo runat=server, para marcar al cdigo como cdigo ejecutable por ASP.NETEn el modelo code-behind, el HTML esta en un archivo .aspx y el cdigo de programacin en otro archivo .aspx.

Modelo Code Inline (o Single-File) Cdigo y Contenido en el mismo archivo Diferentes secciones para el cdigo y el HTML (grfica)

Modelo Code-BehindEl modelo code-behind para el .NET Framework 2.0 toma ventaja de una nueva caracterstica llamada Partial Classes. El archivo code-behind para la pagina no posee la definicin completa de la clase. En su lugar, este incluye solo lo que sea necesario. El code-behind partial class no necesita instanciar variables o eventos explcitamente. El vinculo entre el archivo .aspx y el archivo code-behind es similar al vinculo usado en el anterior modelo code-behind. Sin embargo, la directiva @ Page usa un nuevo atributo CodeFile en lugar del atributo Code-behind o Src. Adems, la directiva incluye un atributo de herencia para especificar una class name para la pagina.

ControlesCuando cree pginas de formularios Web Forms, puede utilizar estos tipos de controles:1. Controles HTML. Elementos HTML utilizados simples con poca funcionalidad.2. Controles de servidor HTML.Elementos HTML expuestos al servidor para que se puedan programar. Los controles de servidor HTML exponen un modelo de objeto que se relacionan muy estrechamente con los elementos HTML que procesan. 3. Controles de servidor Web.Controles con ms funciones incorporadas que los controles de servidor HTML. Los controles de servidor Web incluyen no slo controles de tipo formulario como botones y cuadros de texto, sino tambin controles con fines especiales como un calendario. Los controles de servidor Web son ms abstractos que los controles de servidor HTML pues su modelo de objetos no refleja necesariamente la sintaxis HTML.

Controles de servidor HTMLLos controles de servidor HTML son elementos HTML que contienen atributos que los hacen visibles (y programables) en un servidor. De forma predeterminada, el servidor no tiene acceso a los elementos HTML de una pgina de formularios Web Forms: se tratan como texto opaco que se pasa al explorador. Sin embargo, cuando se convierten en controles de servidor HTML, los elementos HTML quedan expuestos como elementos programables en el servidor. El modelo de objetos de los controles de servidor HTML se relaciona estrechamente con el de los elementos correspondientes. Por ejemplo, los atributos HTML se exponen en controles de servidor HTML como propiedades.Cualquier elemento HTML de una pgina se puede convertir en control de servidor HTML. La conversin es un proceso simple que afecta a unos pocos atributos. Como mnimo, un elemento HTML se convierte en control agregando el atributo RUNAT="SERVER". Esto le indica al marco de trabajo de la pgina de ASP.NET durante el anlisis que debe crear una instancia del control para su uso durante el procesamiento de la pgina en el servidor. Si desea hacer referencia al control como un miembro dentro del cdigo, tambin deber asignarle un atributo ID al control.El marco de trabajo de pginas proporciona controles de servidor HTML predefinidos para los elementos HTML que se utilizan ms habitualmente de forma dinmica en una pgina: formularios, elementos HTML (cuadro de texto, casilla de verificacin, botn Enviar, etc.), cuadros de lista (), tablas, imgenes, etc. Estos controles de servidor HTML predefinidos comparten las propiedades bsicas del control genrico y, adems, cada control normalmente proporciona su propio conjunto de propiedades y su propio evento.Los controles de servidor HTML ofrecen las funciones siguientes: Un modelo de objetos que pueda volver a programar en el servidor con las tcnicas habituales orientadas a objetos. Los controles de servidor exponen propiedades que permiten manipular los atributos HTML del control mediante programacin en el cdigo del servidor. Un conjunto de eventos para los que pueda escribir controles de eventos de la misma forma que lo hara en un formulario basado en cliente, con la excepcin de que un evento se controla en cdigo del servidor. La capacidad de controlar eventos en una secuencia de comandos de cliente. Mantenimiento automtico del estado del control. Si el formulario realiza una accin de ida y vuelta al servidor, los valores que el usuario escriba en los controles de servidor HTML se mantendrn automticamente cuando la pgina se enve de vuelta al explorador. Interaccin con controles de validacin que permiten comprobar con gran facilidad si el usuario ha escrito la informacin adecuada en un control. Enlace de datos a una o varias de las propiedades del control. Compatibilidad con estilos HTML 4.0 si la pgina de formularios Web Forms se muestra en un explorador que admite hojas de estilos en cascada. Paso a travs de atributos personalizados. Pueden agregarse los atributos que se necesiten a un control de servidor HTML: el marco de trabajo de pginas los leer y los procesar sin ningn cambio en la funcionalidad. Esto permite agregar atributos especficos del explorador a los controles.

Controles de servidor WebLos controles de servidor Web son un segundo conjunto de controles diseado con otro enfoque. No se asignan uno a uno a controles de servidor HTML. En lugar de ello, se definen como controles abstractos, en los que el HTML real procesado por el control puede ser muy diferente al modelo con respecto al que se han programado. Por ejemplo, un control RadioButtonList de servidor Web podra procesarse en una tabla o como un texto en lnea con otro HTML.Los controles de servidor Web incluyen controles de formulario tradicionales como botones y cuadros de texto, adems de controles complejos, como, por ejemplo, las tablas. Tambin incluyen controles que proporcionan funcionalidad de formulario de uso frecuente, como la presentacin datos en cuadrcula, la eleccin de fechas, etc.Los controles de servidor Web ofrecen todas las funciones descritas anteriormente para los controles de servidor HTML (excepto la asignacin uno a uno a elementos HTML) y estas funciones adicionales: Un modelo de objetos enriquecido que proporciona capacidades de programacin de tipo seguro. Deteccin automtica del explorador. Los controles pueden detectar capacidades del explorador y crear el resultado apropiado para exploradores bsicos y enriquecidos (HTML 4.0). Para algunos controles, la capacidad de definir su propia apariencia para el control mediante plantillas. Para algunos controles, la capacidad de especificar si un evento del control provoca un envo inmediato al servidor o, en su lugar, se almacena en cach y se activa cuando se enva el formulario. Capacidad para pasar eventos de un control anidado (como un botn en una tabla) al control contenedor. Cuando la vista HTML est en tiempo de diseo, los controles aparecen en la pgina con un formato como el siguiente: En este caso los atributos no son los de los elementos HTML. En lugar de ello, son propiedades del control Web.Cuando se ejecuta la pgina de formularios Web Forms, el control de servidor Web se procesa en la pgina utilizando el HTML apropiado, que con frecuencia no slo depende del tipo de explorador sino tambin de la configuracin que haya realizado para el control. Por ejemplo, un control TextBox podra procesarse como una etiqueta o una etiqueta , dependiendo de sus propiedades.

Ciclo de Vida de un WebFormCuando una pagina ASP.NET es pedida, hay una serie de eventos que ocurren. Estos eventos siempre ocurren en el mismo orden, los cuales estn referidos como ciclos de vida de la pagina. El ciclo de vida de la pagina ocurren en el siguiente orden:Page_Init: este evento de pagina inicializa la pagina creando e inicializando los Web Server controls sobre la pagina.Page_Load: este evento de pagina ocurre cada vez que la pagina es peticionadaControl Events: este evento de pagina incluye los eventos change (por ejemplo, TextBox1_Changed) y los eventos action (por ejemplo: Button1_Click)Page_Unload: este evento de pagina ocurre cuando la pagina es cerrada o cuando el control es pasado a otra pagina.El final del ciclo de vida de la pagina incluye la descarga de la pagina de memoria. La mayora de los eventos no ocurren hasta que el Web Form realiza un postback al servidor. Por ejemplo, el evento Change es administrado en un orden aleatorio sobre el servidor despus que el formulario es posteado. Inversamente, los eventos Click pueden causar el envi inmediato al servidor.Si, por ejemplo, un usuario ingresa texto en un numero de controles sobre un formulario y luego hace un clic en el botn Submit, el evento Change para los controles TextBox no sern procesados hasta que el formulario sea enviado al servidor a travs del evento Click.

Creando manejadores de evento Formas de crearlos Property Grid Desde cdigo Doble click sobre el control (handler default)

Eventos de PostBack Page_Load se ejecuta en cada request Para inicializar controles. Usar Page.IsPostBack Para ejecutar lgica condicional. Para prevenir el reload en cada request.

Manejo de EstadoAl 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.

Administracin del estadoASP.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.

Formas de Manejar Estado

Desventajas sobre el lado del cliente: Menos seguros y menos fiables Cantidad de informacin limitada Tamao de archivos restringido del lado cliente

El archivo Global.asax Slo existe un archivo por aplicacin Web Se almacena en el raiz (root) del directorio virtual de la aplicacin Web Usado para manejar eventos de aplicacin y de sesin Es opcional

Variables de SesinInicializamos las variables de aplicacin y de sesin en los procedimientos de eventos Start de los objetos Application y Session del archivo global.asax.Variables de AplicacinPodemos 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.Variables de SesinUtilizamos 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.

Usar Variables de Sesin y AplicacinPara utilizar variables de aplicacin y de sesin en ASP.NET, simplemente utilizamos una clave de cadena y establecemos un valor. Establecer Variables de aplicacin y de sesin 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 Leer Variables de aplicacin y de sesin Para utilizar una variable de sesin o de aplicacin en una pgina ASP.NET, simplemente necesitamos leer el valor del objeto Session o Application

Duracin de Sesin y Aplicacin De Sesin: expiran luego del ltimo acceso Por defecto 20 minutos despus Duracin modificable desde el Web.config

De Aplicacin: persisten hasta que se baja el AppDomain (evento Application_End) Modificando el web.config o las dlls, reseteando el IIS, renombrando carpeta visual, etc.

View State (propiedad) Campo oculto usado por ASP.NET para resolver el problema de sin estado Se generan dentro de un webform (runat=server) Mantiene la informacin de los controles de servidor entre idas y vueltas al servidor (post back) Activo por defecto y puede ser desactivado A nivel de pgina:

A nivel de control:

Query StringUna caracterstica importante del request es el QueryString (QS). El QueryString es la porcin del URI que sigue al signo de pregunta, y consiste en un conjunto de pares nombre/valor en el encoding URL.El Query String permite enviar informacion adicional en la direccin url. En HTML, el QS aparece luego de un signo de pregunta en un hiperlink como se muestra aqu:Query string sample.Esta caracterstica no lo hace conveniente para pasar grandes cantidades de datos al servidor, debido a los 1024 bytes de restriccin del QueryString.EnvoPara enviar por Query String en el cdigo agrguelo a la direccin web en el mtodo Redirect.Recuperar valoresPara recuperar valores del Query String en codigo usar el metodo QueryString del objeto Response.

Almacenar estado en SQL Server Configurar el estado de sesin en Web.config Modo establecido a sqlserver o stateserver

Luego, configurar el servidor SQL Server

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

Usar cookies para datos de sesinLas 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.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.

Recuperar datos de una cookieRecuperar informacin de una cookie implica leer una cookie y recuperar los pares clave/valor de la misma. Leer una cookie: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. Recuperar informacin de una cookie (ver diapo 46 U06P1(son solo lneas de cdigo))