Célula Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004
Célula Revisión Sesión 2 Explique donde Visual Studio.NET guarda los proyectos de las aplicaciones Web. Describa el ciclo de vida de una aplicación Web. Describa ahora el de un formulario Web. ¿Como se conserva información persistente en una aplicación Web? ¿Qué determina los limites de una aplicación Web?
Célula Lección 1 – Fundamentos de Namespaces Entendiendo Namespaces –VB.NET –VB.NET: Imports System, Imports System.Web –C#.NET –C#.NET: using System, using System.Web; Sin: –VB.NET –VB.NET: System.Array.Sort(strArray) –C#.NET –C#.NET: System.Array.Sort(strArray); Con: –VB.NET –VB.NET: Array.Sort(strArray) –C#.NET –C#.NET: Array.Sort(strArray);
Célula Lección 1 – Fundamentos de Namespaces Es una forma de organizar el código. Proveen protección al uso de nombres conflictivos (namespace collisions). Para crear un namespace: –VB.NET –VB.NET : Namespace x… End Namespace –C#.NET –C#.NET : namespace x { … } Puede repetirse a todas las clases o módulos que desee incluir en el namespace.
Célula Lección 1 – Fundamentos de Namespaces Uso dentro del código: –Nombre completo: NombreProyecto.Namespace.NombreModulo.Nom breMiembro –Por Importas/Using VB.NETVB.NET: Imports NombreProyecto.Namespace C#.NETC#.NET: using NombreProyecto.Namespace;
Célula Lección 1 – Fundamentos de Namespaces Diferencia entre Referenciar e Imports/using
Célula Lección 1 – Fundamentos de Namespaces Clases/Módulos –VB.NET ClasesClases: para ítems que definen su propio almacenamiento. Se crean instancias para objetos. MódulosMódulos: ítems que no tiene información persistente. Llamados directos. –C#.NET clasesTodo almacenado en clases. Static para llamados sin objetos.
Célula Lección 1 – Fundamentos de Namespaces Conceptos Claves Orientado a Objetos –Definición –Definición: Todo el código ejecutable hace parte de una clase –Acceso –Acceso: Niveles de acceso para clases, módulos y miembros. VB.NETVB.NET: Public, Protected, Friend, Protected Friend, Private C#.NETC#.NET: public, protected, internal, protected internal, private. –Herencia –Herencia: Las clases pueden heredar miembros de otras clases base. –Constructores y Destructores –Constructores y Destructores: Métodos para inicializar o terminar objetos basados en las clases. –Clases Abstractas e Interfaces –Clases Abstractas e Interfaces: Las interfaces definen los nombres de los miembros y listas de parámetros para las clases que las utilizan. Clases abstractas proveen los ítems a ser heredados por las clases derivadas.
Célula Lección 1 – Fundamentos de Namespaces Acceso: Predeterminadamente los controles del servidor se definen en Protected
Célula Lección 1 – Fundamentos de Namespaces Herencia:
Célula Lección 1 – Fundamentos de Namespaces ¿Qué no puedo hacer con Herencia? –Herencia Múltiple: heredar de mas de una clase base en una misma clase. –Derivar nuevos Formularios Web a partir de existentes.
Célula Lección 2 – Namespaces en Aplicaciones Web Las definiciones de las clases para objetos utilizados en aplicaciones se encuentran en el Namespace System.Web Objetos: –Application: Clase HttpApplication –Web Form: Clase Page
Célula Lección 2 – Namespaces en Aplicaciones Web Objeto Application –Configurar aplicación –Almacenar información de estado –Global.asax –Intancia: Global
Célula Lección 2 – Namespaces en Aplicaciones Web Objeto Page –Interfaz de usuario –Clase: Page
Célula Lección 2 – Namespaces en Aplicaciones Web Objeto Request –Enviado del cliente
Célula Lección 2 – Namespaces en Aplicaciones Web Objeto Response –Compone la respuesta del servidor al cliente
Célula Lección 3 – Manteniendo Información de Estado Métodos para mantener información entre solicitudes: –Query Strings –Cookies –ViewState –SessionState –ApplicationState
Célula Lección 3 – Manteniendo Información de Estado Query Strings –Dentro de la dirección. Visible al usuario. Después de ?’ en un hipervínculo. – Que ry string. –Envío: VB.NETVB.NET: Server.Redirect("WebForm1.aspx?UName=Wombat") C#.NETC#.NET: Response.Redirect("Webform1.aspx?UName=Wombat"); –Recepción: VB.NETVB.NET: Response.Write(Request.QueryString("UName")) C#.NETC#.NET: Response.Write(Request.QueryString["UName"]);
Célula Lección 3 – Manteniendo Información de Estado Cookies –Almacena información en el cliente. –Pueden ser rechazadas por lo que se consulta disponibilidad. Request.Browser.Cookies ViewState –Campo oculto de la pagina. –Informacion codificada. ViewState.Add
Célula Lección 3 – Manteniendo Información de Estado Application & Session States –Almacena datos incluyendo objetos –Se crean en ejecución, sin revisión de nombres. –Mantener SessionState afecta rendimiento. Puede ponerse en off a nivel de aplicación o pagina. Web Form Properties: EnableSessionState=False. Web.config: –ApplicationState esta disponible en el proceso actual… cada procesador tiene su propio ApplicationState. –Los limites determinados por el IIS afectan el ApplicationState.