célula [email protected] sesión 3 trabajando con objetos web 11 de septiembre...

20
Célula USADotNet [email protected] o 1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Upload: jorge-jiron

Post on 24-Apr-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 1

Sesión 3Trabajando con Objetos Web

11 de Septiembre de 2004

Page 2: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 2

Revisión Sesión 2Revisió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?

Page 3: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 3

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• Entendiendo Namespaces– VB.NETVB.NET: Imports System, Imports System.Web– C#.NETC#.NET: using System, using System.Web;

• Sin:– VB.NETVB.NET: System.Array.Sort(strArray)– C#.NETC#.NET: System.Array.Sort(strArray);

• Con:– VB.NETVB.NET: Array.Sort(strArray)– C#.NETC#.NET: Array.Sort(strArray);

Page 4: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 4

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• Es una forma de organizar el código. Proveen protección al uso de nombres conflictivos (namespace collisions).

• Para crear un namespace: – VB.NETVB.NET: Namespace x… End Namespace – C#.NETC#.NET: namespace x { … }

• Puede repetirse a todas las clases o módulos que desee incluir en el namespace.

Page 5: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 5

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• Uso dentro del código:– Nombre completo:

• NombreProyecto.Namespace.NombreModulo.NombreMiembro

– Por Importas/Using• VB.NETVB.NET: Imports NombreProyecto.Namespace• C#.NETC#.NET: using NombreProyecto.Namespace;

Page 6: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 6

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• Diferencia entre Referenciar e Imports/using

Page 7: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 7

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• 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• Todo almacenado en clasesclases. Static para llamados

sin objetos.

Page 8: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 8

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• Conceptos Claves Orientado a Objetos– DefiniciónDefinición: Todo el código ejecutable hace parte de una clase– AccesoAcceso: 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.– HerenciaHerencia: Las clases pueden heredar miembros de otras clases

base.– Constructores y DestructoresConstructores y Destructores: Métodos para inicializar o

terminar objetos basados en las clases.– Clases Abstractas e InterfacesClases 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.

Page 9: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 9

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• Acceso:

• Predeterminadamente los controles del servidor se definen en Protected

Page 10: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 10

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• Herencia:

Page 11: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 11

Lección 1 – Fundamentos de Lección 1 – Fundamentos de NamespacesNamespaces

• ¿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.

Page 12: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 12

Lección 2 – Namespaces en Lección 2 – Namespaces en Aplicaciones WebAplicaciones 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

Page 13: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 13

Lección 2 – Namespaces en Lección 2 – Namespaces en Aplicaciones WebAplicaciones Web

• Objeto Application– Configurar aplicación– Almacenar información de estado– Global.asax– Intancia: Global

Page 14: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 14

Lección 2 – Namespaces en Lección 2 – Namespaces en Aplicaciones WebAplicaciones Web

• Objeto Page– Interfaz de usuario– Clase: Page

Page 15: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 15

Lección 2 – Namespaces en Lección 2 – Namespaces en Aplicaciones WebAplicaciones Web

• Objeto Request– Enviado del cliente

Page 16: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 16

Lección 2 – Namespaces en Lección 2 – Namespaces en Aplicaciones WebAplicaciones Web

• Objeto Response– Compone la respuesta del

servidor al cliente

Page 17: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 17

Lección 3 – Manteniendo Lección 3 – Manteniendo Información de EstadoInformación de Estado

• Métodos para mantener información entre solicitudes:– Query Strings– Cookies– ViewState– SessionState– ApplicationState

Page 18: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 18

Lección 3 – Manteniendo Lección 3 – Manteniendo Información de EstadoInformación de Estado

• Query Strings– Dentro de la dirección. Visible al usuario. Después de

?’ en un hipervínculo.– <A HREF= "WebForm1.aspx?

UName=Wombat">Query string.</A>– 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"]);

Page 19: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 19

Lección 3 – Manteniendo Lección 3 – Manteniendo Información de EstadoInformació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.

• </HEAD> <body MS_POSITIONING="GridLayout"> <form name="Form1" method="post" action="WebForm1.aspx" id="Form1"> <input type="hidden" name="__VIEWSTATE" value="dDwtMTMwNzIzMzU0Mzt0PHA8bDwwOzE7MjszOzQ7PjtsPFxlO1RoaXMgaXMgc29tZSB0ZXh 0O1RoaXMgaXMgc29tZSB0ZXh0O1RoaXMgaXMgc29tZSB0ZXh0O1RoaXMgaXMgc29tZSB0ZXh0Oz4+Ozs+Oz4=" />

• ViewState.Add

Page 20: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004

Célula USADotNet [email protected] 20

Lección 3 – Manteniendo Lección 3 – Manteniendo Información de EstadoInformació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: <sessionstate mode="False" …>

– ApplicationState esta disponible en el proceso actual… cada procesador tiene su propio ApplicationState.

– Los limites determinados por el IIS afectan el ApplicationState.