célula [email protected] sesión 3 trabajando con objetos web 11 de septiembre...
TRANSCRIPT
![Page 2: Célula USADotNetmaclau.gonzalez@usa.edu.co1 Sesión 3 Trabajando con Objetos Web 11 de Septiembre de 2004](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022062512/553a6cf55503469b318b4578/html5/thumbnails/20.jpg)
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.