NET
II Unidad. a) Arquitectura. b) Contenido dinmico. c) Controles del lado del servidor. d) Code behind 1.1 y 2.0. e) Ciclo de vida de la pagina. f) AutoEventWireUp. g) Directorios de compilacin. h) Shadow Copying.
a) Arquitectura de ASP.NET
Todas las paginas (.aspx) son transformadas en una
peticiones.
Como funciona.
.aspx
Ahora
3. Guardamos el documento con extensin .aspx en el
http://localhost/Nombre_del_Documento.aspx
5. Nos aparecer la pgina que acabamos de hacer, pero
facilmente como funciona la transformacin de un documento .aspx a: 1. Una definicin de clase. 2. Un archivo de ensamblado. Para ello agregaremos algo llamado Directiva de pagina que le dice a el motor de asp.net que atributos van a ser usados por el compilador y el parser Como nota, las directivas son usadas para especificar atributos que son usados por las pginas o por los controles web a la hora de la compilacin
Nos encontraremos con las clases generadas y el ensamblado de la pagina, si lo abrimos podremos ver el cdigo que genera asp.net. ASP.NET hace esto cada vez que se realiza una peticin a un fichero con extensin .aspx. El Debug=True nos permite ver el cdigo fuente generado por el motor de asp.net.
b) Contenido dinmico.
En general, la idea de contenido dinmico en una pgina
del Servidor, son las instrucciones que ejecuta en motor de ASP.NET y que estn embebidas en la pgina .aspx, para posteriormente enviarla al cliente
Este cdigo no es visible para el destinatario final, es
echo en php; lo que hace es mostrar en pantalla lo que este dentro de ella. Es una abreviacin del comando Response.Write() en cdigo C#.
Veamos un ejemplo:
definicin de clases de la pgina como variables, cuyo nombre es el atributo ID del control.
Podemos entonces interactuar con estos controles
documento, esto porque los controles de ASP.NET trabajan sobre formularios, ademas esta etiqueta form debe tener el atributo runat=server.
Estos controles en el documento .aspx no son mas que
otra etiqueta pero con ciertas diferencias. Todos los controles ASP.NET inician con el prefijo asp seguido de :.
Ejemplo:
En este ejemplo vemos que se agrega el runat=server a la etiqueta form y 2 botones, uno de HTML y otro de ASP. Si abrimos esta pgina en el navegador, y luego vemos el cdigo fuente de la pgina generada; la etiqueta asp se transforma en html, en este caso un simple input como el de arriba.
Manejando eventos
Con estos controles podemos manejar eventos del lado
adems pasar por parmetro un tipo EventArgs y un Object. Para asignar la funcin a un evento, se escribe el nombre del evento con el prefijo on en la etiqueta del S.S.C.(Server-Side-Control), por ejemplo, para el evento click, se deber escribir onclick en la etiqueta del S.S.C.
Ejemplo
Ejercicio
Realizar una calculadora que realice las operaciones, del
separacin, esto para que el cdigo sea mas legible y mas fcil de programar, y as evitar que el cdigo este embebido en la pgina.
En esta seccin veremos como hacer esta separacin
posee la directiva de pgina para crear una clase separada que herede de la clase Page.
Promueve la separacin del cdigo y presentacin. Las clases que son usadas como code-behind pueden
cdigo fuente. Este archivo por convencin debe tener el nombre de la pgina, y terminar con extensin .cs
SegundaPagina.aspx.cs
SegundaPagina.aspx
desde el fichero de code-behind debe hacerse atreves de variables protected como se ve en la imagen.
Framework 2.0, surgen nuevas tecnologas, y una de ellas es la conicidad como clases parciales (partial class).
Esta permita la escritura de cdigo fuente distribuida en
varios ficheros.
Las clases parciales fueron las que permitieron la
creacin de la nueva versin de code-behind, esta vez, en lugar de heredar, se hara una clase parcial.
propiedad, pero tambin se puede decir que se cambio. Ahora en lugar de escribir src, se usara codefile
Entonces si queremos llevar el ejemplo de 1.1 a 2.0
SegundaPagina.aspx.cs
Ahora emplearemos el uso de la clase parcial en nuestro
declarar los controles que deseamos utilizar en nuestro cdigo fuente como protected, esta ventaja es gracias al uso de las clases parciales, donde hay una clase donde ya estn declarado los controles
Otra ventaja de usar clases parciales es poder seguir
extendiendo la clase entre ficheros, esto es lo que hace visual studio, creando una clase donde esta contenida la definicin de los controles.
una pgina, para que de esta manera podamos inicializar controles, asignar propiedades o datos usando el ViewState y ejecutar acciones de los controles.
AutoEventWireup
Este atrubuto asigna automticamente a los mtodos con
parmetros un Object que hace referencia al objeto que esta ejecutando la accion, y tambin un EventArgs, que son los argumentos de la accin.
Ejemplo:
Metodos AutoEventWireUp
Directorios de compilacin
ASP.NET, trae definidas carpetas de compilacin, estas
carpetas permiten aadir archivos y carpetas sin necesidad de volver a generar toda la aplicacin.
Folder /App_Browsers /App_Code Contenido Archivos XML con extensin .browsers Archivos de cdigo fuente Funcin Describe las capacidades de cada Navegador Web. Los archivos de cdigo fuente son compilados en un ensamblado Compilado en un ensamblado diferente Proxy de WebService No hay compilacin en esta carpeta, utiliza shadow copy
.css .skin , imagenes .wsdl .xsd .disco .discomap .dll Archivos ensamblados
Shadow Copying
Es una tcnica que utiliza el directorio de compilacin
Bin donde podemos fcilmente remplazarlos por una nueva versin, sin necesidad de detener el servidor, o recompilar la aplicacin.
Se basa en el hecho de que cada vez que se hace una
peticin a una pgina .aspx esta genera su ensamblado y si tiene alguna dependencia del directorio Bin, lo copia al directorio temporal donde esta su mismo ensamblado.