Your SlideShare is downloading. ×

Programacion de aplicaciones Web con ASP.NET

67,573

Published on

Conceptos básicos del entorno, los controles y la programación necesaria para crear páginas web

Conceptos básicos del entorno, los controles y la programación necesaria para crear páginas web

Published in: Education
3 Comments
12 Likes
Statistics
Notes
  • esta bueno para tener una idea en general
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • esta bueno el doc pero dejame descargarlo si jeje
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • dejame descargar
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
67,573
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
1,532
Comments
3
Likes
12
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Programación ASP .NET Ver 4.0 Sep 09
  • Introducción. El FrameWork de .NET. Conceptos básicos de qué es el Framework, componentes y principales usos El entorno de Desarrollo, características Descripción del entorno.Trabajar con Soluciones multiproyecto Creación de Formularios Web. Conceptos implicados en el desarrollo de páginas web con Visual Studio.NET. (CodeBehind, Postback) Creación de páginas web básicas. Creación de páginas web maestras Revisión de los principales controles de páginas web Codificación en Formularios Web. Completar la funcionalidad de las páginas con código en Visual Basic .NET o C#.NET Gestión de Eventos .Archivos de configuración (web.config) Depuración de Aplicaciones Web. Trazas de código para detección de errores. Comportamiento de Objetos Trace y Debug Validación de la Entrada de datos. Revisión de conceptos de validación de datos. Controles de validación Conceptos básicos de Acceso a datos con ADO.NET: Modelo de objetos ADO.Net: Connection, Command, DataReader, DataAdapter, DataSet. Enlace de controles. Servicios Web XML. Conceptos implicados. Descubrir servicios web (servicios DISCO) Consumir servicios web de terceros. Interpretar archivos WSDL Creación y Utilización de servicios web Manejo y optimización de Estado en las Aplicaciones Web ASP .NET. Objeto Session. Objeto Aplicación. Objeto Caché Configuración, Distribución de Aplicaciones Web ASP .NET. Publicación precompilada. Publicación en modo depuración. Herramientas de publicación Configuración de la seguridad de las Aplicaciones Web ASP .NET. Conceptos básicos de seguridad. Seguridad a nivel de servidor. Seguridad a nivel de aplicación Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Modelo de programación consistente para todas las plataformas Los diferentes lenguajes de programación utilizan el mismo entorno y la misma estructura por lo que permite independientemente de que lenguaje estemos utilizando tener un desarrollo de aplicaciones muy consistente Interoperabilidad entre tecnologías Al compartir el mismo entorno y las mismas estructuras podemos tener en el mismo proyecto diferentes lenguajes cohabitando sin problemas Fácil migración Permite desde versiones anteriores de ASP .NET crear proyectos manteniendo una copia del anterior Soporte HTML, xML, SOAP Mantiene compatibilidad con leguajes y protocolos abiertos en internet. No utiliza una tecnología propietaria Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Commond Languaje Runtime Lenguaje máquina común para todos los lenguajes de programación. Se evita que cada lenguaje tenga el suyo con depuradores y compiladores distintos que al final generan un rendimiento distinto . NET Framework library Conjunto de librerías que contienen la información necesaria para que se puedan ejecutar aplicaciones .net. Son de libre distribución Actualmente vamos por la versión 3.0, aunque a nivel de desarrollo se utiliza la versión 2.0 ADO .NET ActiveX Data Object, es la tecnología que se utiliza para trabajar contra bases de datos o con ficheros que funcionen a modo de bases de datos ASP .NET Tecnología que se utiliza para procesar las páginas web Interfaz de usuario Librería de elementos necesarios para interactuar con la aplicación Programación ASP .NET Ver 4.0 Sep 09
  • Todas los lenguajes de programación y las distintas tecnologías (ASP .NET, Web Forms, Windows Forms) acaban generando un mismo lenguaje base que cada ordenador interpreta para su ejecución Esto hace que el desarrollo sea mucho más sencillo y robusto ya que no tenemos un lenguaje base según el tipo de desarrollo. Por otro lado ofrece un conjunto de elementos comunes que se utiliza de forma automática en todos los desarrollos Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • BIN  Contiene cualquier estructura pre construida que sea requerida por la aplicación App_Browsers  Contiene los archivos de definición del navegador específicos de la aplicación que utiliza ASP.NET para identificar los navegadores individuales y determinar sus capacidades App_Code  Contiene los archivos fuente de las clases a compilar conmo una parte de la aplicación. ASP.NET compila el código en la carpeta cuando las páginas se solicitan. El código en la carpeta se referencia automáticamente en las aplicaciones App_Data  Contienen los archivos de Access, Sql express, Xml u otros tipos de almacenamiento App_GlobalResources  Contiene los archivos de recursos que se utilizan programáticamente en la ubicación de la aplicación App_LocalResources  Contiene los archivos de recursos de las páginas App_Themes  Contiene una colección de archivos que definen la apariencia de las páginas y controles ASP .NET App_WebReferences  Contiene archivos WSDL para generar las clases Proxy y otros archivos asociados con la utilización de los servicios Web en su aplicación Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Los archivos se compilan automáticamente desde que se hace la primera solicitud por parte de la aplicación Cualquier cambio en la fuente de un archivo invalida la compilación y se vuelve a crear No es necesaria pre compilar un proyecto web desde el entorno de desarrollo antes de su publicación Se pueden crear proveedores de construcción personalizado, ampliando el proceso de compilación Compilación dinámica en dos pasos Analizar sintácticamente los archivos. En ASP NET 1.1 solo son unos pocos archivos, pero en ASP.NET 2.0 se han ampliado y completado con los proveedores personalizados Compilarlos en una estructura ejecutable Precompilación sobre la marcha, prepara todas las estructuras para que todos los usuarios que accedan al sitio web no tengan retrasos de compilación  aspnet_compiler Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Objetivo de estos controles es facilitar la navegación por el sitio web a los usuarios Web.sitemap. Archivo XML que contiene la descripción del sitio web Mapa del sito web formado por nodos “SiteMapNode”, con los atributos principales titulo y url. Proveedor por defecto del tipo System.Web.XmlSiteMapProvider Podemos tener varios archivos en función del rol del usuario del sitio o del idioma de visualización Control SiteMapPath Muestra la información del archivo web.sitemap, en función de la página donde estemos CurrentNodeStyle, NodeStyle, RootNodeStyle  formato de representación de la información PathDirection, PathSeparator  Dirección de la información y separador entre los nodos Control SiteMapDataSource Traduce el esquema de los archivos siteMap para poder utilizarlo en otros controles Propiedad StartingNodeOffset  Podemos definir el nodo inicial a representar en función del nodo que se visite Control TreeView Formado por elementos TreeNode que pueden tener a su vez hijos Podemos definir el comportamiento para cerrarse (colapsarse) o abrirse (expandirse) Propiedades de estilo, Propiedades visuales, Propiedades de comportamiento Control Menu Formado por MenuItem, representa la información de un SiteMapDataSource Puede hacer una petición al servidor o puede redirigirse a otra página Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Definición Página Maestra Contiene una estructura heredable por las páginas de contenido, definiendo el tamaño de cada área, los controles comunes y textos generales para todas las páginas de contenido que se creen a partir de la maestra. La etiqueta <asp:contentplaceholder> indica donde va a ir la información en las páginas de contenido El encabezado contiene la directiva <% @Master… Página Contenido Contiene la personalización para cada página de la página maestra. Esta dentro de la etiqueta <asp:content>. Cuando la página de contenido es solicitada desde el navegador, se combina con la página maestra para mostrarse totalmente Beneficios Sitio web con entorno consistente, ya que todos los elementos que se creen en la página maestra se mantienen en todas las páginas. Si se modifica, se aplica la modificación a todas de una sola vez. Ahorro de tiempo de programación. Elementos comunes como los menú, pies de página o cabeceras solo se tienen que programar una vez Podemos tener varias páginas maestras en un proyecto, de tal manera que las páginas de contenido varían de aspecto en función de la página maestra asociada Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Los beneficios de tener todo el código en el mismo fichero aspx es la facilidad a la hora de publicar el sitio web, ya que no hay que realizar ningún proceso de compilación o no es necesario subir dos ficheros por página en el caso de que no se quiera compilar. En cuanto a tener la información en un fichero aparte los beneficios son la claridad a la hora de visualizar el código tanto de la aspx como del aspx.vb y que el código fuente no está accesible a través de la web. Otro aspecto beneficioso es la posibilidad de compilar el sitio web mejorando el rendimiento del mismo Programación ASP .NET Ver 4.0 Sep 09
  • Los eventos se “disparan” cuando el usuario realiza una acción, aunque en muchas ocasiones no sea consciente de lo que está realizando. Por ejemplo cuando se desplaza un ratón por encima de un control se disparan varios eventos, cuando el ratón entra en el control, cuando pasa por encima y cuando abandona el control. Existen eventos que se disparan de forma automática cuando cargamos una página o cuando cambiamos de una a otra página. Programación ASP .NET Ver 4.0 Sep 09
  • Son acciones que tienen muy poca duración en el tiempo, por lo que no podemos enviar una petición al servidor para que este la procese antes de que no tenga sentido el resultado. Cuando pasamos por encima de un botón y queremos que cambie el color de fondo, lo tenemos que realizar desde el navegador, ya que si cada vez que el ratón se mueve por encima del control tiene que enviar la posición al servidor y este devolver un color de fondo u otro posiblemente nunca cambiaría del color predeterminado Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • La programación asociada a cada evento se introduce en procedimientos que tienen como características diferenciadoras el número y tipo de parámetros y la clausula HANDLED Los parámetros son los valores que pasa el sistema al interior de ese procedimiento de evento para que el programador tenga la información de que objeto (control en la mayoría de los casos) a levantado / disparado en evento y algo de información asociada al tipo de control, en algunos casos la posición, en otros el tipo y en la mayoría únicamente un texto descriptivo. La clausula handled permite asociar un procedimiento a un evento, ya que podemos tener varios controles asociados al mismo procedimiento de evento para no tener que programar lo mismo varias veces Para poder manipular las propiedades y metodos del control sender tenemos que utilizar Ctype para convertirlo del tipo Objet al control pertinente Programación ASP .NET Ver 4.0 Sep 09
  • La programación asociada a cada evento se introduce en procedimientos que tienen como características diferenciadoras el número y tipo de parámetros y la clausula HANDLED La clausula handled permite asociar un procedimiento a un evento, ya que podemos tener varios controles asociados al mismo procedimiento de evento para no tener que programar lo mismo varias veces Podemos definir un procedimiento de evento personalizado y asociarlo a un evento estandar de cualquier control. Se realiza con la clausula AddHandler, referenciando al procedimiento con AddressOf Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Acceso a los controles Estamos trabajando con objetos, por lo que el acceso se realiza mediante propiedades El objeto de trabajo por defecto es PAGE, que contiene la información de la página cargada. Dentro de este objeto tenemos la propiedad CONTROLS que contiene la lista de controles existentes en la página Podemos encontrar un control utilizando el método FindControl(Nombre) del objeto PAGE Existe el objeto ME, que hace referencia a la página actual y facilita el uso de los controles y propiedades de la página A la hora de asignar y leer las propiedades, si los tipos de datos no se corresponden .net realiza una conversión implícita, salvo que se especifique la opción strict a ON (escribir Option strict on al principio del fichero de vb o en la sección <compilation> del web.config) Asignación de valores a las propiedades Indicar el control con el que queremos trabajar Seleccionar la propiedad Asignar el valor según la propiedad en el formato correcto (textos entre comillas dobles, valores lógicos con True o False, etc Recuperar la información de los controles Disponer de la variable donde vamos a guardar la información Asignar a esa variable la propiedad del control Programación ASP .NET Ver 4.0 Sep 09
  • Asignar la imagen a un control Modificar el valor de la propiedad imgUrl indicándole la ruta relativa en base a la página que se ejecuta Rutas Podemos tener esta ruta en una base de datos El carácter “~“ indica la carpeta de ejecución de la aplicación, por lo que podemos indicar todas las rutas a partir de ese punto y así la imagen será accesible desde cualquier punto de la aplicación En algunos casos, normalmente cuando guardamos la imagen en el servidor tenemos que indicar la ruta absoluta donde se va a ubicar el archivo, por lo que utilizamos Apllication.MapPath para saber donde se esta ejecutando la aplicación Creación de imágenes en distintos tamaños La clase bitmap permite varios constructores, pudiendo crearse a partir de un archivo, especificando el tamaño o utilizando el método GetThumbnailImage Los formatos de salida se guardan en la estructura ImageFormat Programación ASP .NET Ver 4.0 Sep 09
  • Colecciones Conjunto de elementos con las mismas propiedades En los controles de listas es la colección items que está formado de elementos item. Cada item tiene sus propias propiedades Las colecciones tienen metodos comunes como por ejemplo Count para indicar el número de elementos en la colección, Add para añadir un nuevo elemento, Clear para limpiar todos los elementos Las colecciones se suelen recorrer con bucles for o for each Añadir información - Crear un objeto listItem añadirle las propiedades y mediante el metodo Add agregarlo a la colección de items Leer Información seleccionada Como todos estos controles heredan de la misma clase, todos tienen los metodos SelectedIndex, SelectedItem, SelectedValue Depende de los controles en el listbox tenemos la propiedad GetSelectedIndices que devuelve la lista de nodos seleccionados. Utilizando un bucle for podemos recorrer esta lista y obtener las propiedades value o text de cada elemento En controles que permiten selección múltiple pero no tienen la propiedad anterior, solo podemos recorrer la colección items y para cada uno verificar la propiedad selected Programación ASP .NET Ver 4.0 Sep 09
  • Tanto los controles Menú como los TreeView pueden generarse de forma dinámica en tiempo de ejecución En ambos casos el planteamiento es el mismo aunque los tipos de datos sean distintos. Creación de un nodo. En el caso de los menus definimos un objeto MenúItem y en el caso de los Treeview un objeto del tipo TreeNode. Establecemos las propiedades del elemento, como value, text, action Añadimos a la colección de elementos del nodo padre, en el caso de menús es el metodo ADD de la colección ChildItems y en el caso del Treeview es el metodo ADD de la colección Nodes Para leer información el planteamiento es similar a las listas, solo que en vez de recorrer la colección de items recorremos la colección de nodos. Para cada elemento podemos realizar la acción que deseemos Lo más normal es querer responder a la acción del nodo seleccionado, por lo que utilizamos las propiedades SelecctedNode y SelectedMenuItem , que nos devuelven el elemento seleccionado para poder realizar con el la opción deseada Programación ASP .NET Ver 4.0 Sep 09
  • No podemos acceder mediante programación a los controles internos del control de usuario y mucho menos a sus propiedades y metodos. Para acceder a estas propiedades y métodos tenemos que especificar mediante la definición en el código de las Propertis Sintaxis Public property [nombre] as [tipo] Get return [control.propiedad] End Get Set [control .propiedad]= [valor] End SET End Property En el apartado Get definimos la información que va a devolverse desde el control de usuario para utilizarse en la página web contenedora En el apartado Set definimos la información que se va a introducir desde la página al control de usuario Eventos del control de usuario se definen como se define otro evento cualquiera en una página. Cuando el control está en una página y se activa un evento del control de usuario, este se ejecuta según se haya definido en el fichero ascx.vb / ascx.cs Programación ASP .NET Ver 4.0 Sep 09
  • Las página maestra se comparte por todas las páginas de contenido, por lo que podemos ubicar controles comunes para todas ellas. Estos controles pueden tener la misma funcionalidad para todas las páginas o podemos tener una funcionalidad distinta según la página en la que se encuentren. Desde la página Maestra Trabajar como una página normal, asignamos los valores en tiempo de diseño y los eventos que se disparan en se ejecutan en el código de master.vb. Tanto los controles como los eventos no son accesibles desde las páginas de contenido. Desde las páginas de Contenido Personalizar la ejecución del evento según la página de contenido que se muestre. AddHandler , asocia a un evento un procedimiento para gestionarlo utilizando una referencia AddressOf Gestionar el evento de un control. Hacer accesible desde fuera de la master el control devolviéndolo con una propiedad Utilizar @MasterType para poder hacer referencia a los elementos públicos de la master En el procedimiento personalizado que se indica en AddressOf, incluir el código Solo es útil para el control encapsulado Gestionar con eventos personalizados genéricos Crear un evento personalizado en una clase de tal manera que sea independiente de la master. Hay que definir el comportamiento, el nombre del evento Canalizar desde la master que cuando se dispare el evento por defecto, genere el evento personalizado Asociar un procedimiento en la página de contenido que gestione el evento lanzado desde la master Procesar al igual que en el caso anterior ese evento con el código adecuado según la página Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Objetivo de la depuración es conocer tanto los valores de los objetos como los pasos de la ejecución de una aplicación Permite depurar el código en los ficheros adjuntos Activar - Cuando iniciamos la ejecución de un proyecto en modo depuración (F5) - Desde la herramienta de configuración del sitio web Modificando directamente el fichero web.config y añadiendo en la etiqueta <compilation> la directiva debug=true Establecer los puntos de ruptura - Pulsar con el ratón a la izquierda del código, pone un botón rojo y marca todo el código de la línea en rojo Se pueden desactivar temporalmente pulsando encima del botón rojo con el botón derecho y seleccionando la opción desactivar Desde el menú depuración podemos quitar todos los puntos de la ampliación En la ventana puntos de ruptura, podemos ver los puntos establecidos, ir al punto seleccionado y modificar sus condiciones de ejecución Visualizar los valores de los objetos Desde la ventana de variables locales, podemos ver todas las propiedades de los objetos en ejecución y dentro del ámbito en el que se encuentre el código Mediante las etiquetas intellosense situando el ratón encima de un objeto podemos ver la información que contiene Con Agregar inspección rápida podemos ver el valor del objeto seleccionado en una ventana aparte En la ventana de inspección podemos añadir el objeto para monitorizar independientemente de que tenga valor o no. No está ligado al ambito de ejecución. Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Ver 4.0 Sep 09 Programación ASP .NET
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Compilación Dinámica, los archivos páginas web (aspx), servicios web (asmx), gestores de eventos html (ashx) y controles de usuario (ascx) se compilan la primera vez que se utilizan. Los archivos que se ubican en las carpetas predeterminadas de ASP.NET 2.0 también se compilan la primera vez que se inicia la aplicación web Carpetas de código, todos los archivos de clases, ficheros de descripción de servicios web y dataset con tipo se compilan en una librería que la gestiona directamente .NET y que tiene ámbito global para la aplicación Carpeta de recursos, contiene información relacionada con la cultura de la aplicación, también se compila la información con ámbito global Carpeta de Temas, contiene los temas que se aplican a los controles. Se compila cada tema en una clase que se aplica a los controles Precompilación, gana velocidad y no es necesario subir código fuente al servidor Se realiza desde el entorno de Visual Studio con la opción Publicar El usuario que utiliza ASP .NET 2.0 para acceder a los datos y a las librerías es NETWORK SERVICE (Servicio de Red), por lo que tiene que tener permiso de acceso. Hay veces que necesita los permisos del usuario ASPNET de la máquina donde se ejecuta la aplicación Si se necesita poner el sitio fuera de linea mientras se realiza una actualización se puede poner la página App_Offline.htm en la carpeta principal, generando automáticamente el error HTTP 404 Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Programación ASP .NET Ver 4.0 Sep 09
  • Transcript

    • 1.
      • Visual Studio .NET 2008
      • ASP .NET
      Programación ASP.NET Javier Roig Garro [email_address] dunbit.blogspot.com dunbitFormacion.blogspot.com dunbitTecnico.blogspot.com
    • 2.
      • 1. Introducción. El FrameWork de .NET.
      • 2. El entorno de Desarrollo, características
      • 3. Creación de Formularios Web.
      • 4. Codificación en Formularios Web.
      • 5. Depuración de Aplicaciones Web.
      • 6. Validación de la Entrada de datos.
      • 7. Conceptos básicos de acceso a datos con ADO.NET
      • 8. Servicios Web XML
      • 9. Manejo de Estado en las Aplicaciones Web ASP .NET.
      • 10. Configuración, Optimización y Distribución de Aplicaciones Web ASP .NET.
      • 11. Configuración de la seguridad de las Aplicaciones Web ASP .NET.
      Programación ASP.NET
    • 3.
      • Introducción
      • .NET FrameWork
      • Commond Laguage Runtime
      • Biblioteca de clases
      • ADO .NET
      • ASP .NET
      • User Interface
      • Conclusión
      Programación ASP.NET
    • 4.
      • Definición
        • Modelo de programación consistente para todas las plataformas
        • Interoperabilidad entre tecnologías
        • Fácil migración
        • Soporte HTML, XML, SOAP
      Programación ASP.NET
    • 5.
      • Servicios comunes para ejecutara aplicaciones .net
      • Simplifica la programación de objetos COM+, ya no es necesario programar el comportamiento entre aplicaciones.
      • .NET Soporta clases, herencia, métodos, propiedades, eventos, polimorfismo, constructores
      • Commond Languaje Specification. Base compatible para implementar código con cualquier lenguaje.
      • Visual Studio .NET. Entorno de desarrollo multilingüe.
      Programación ASP.NET
    • 6.
      • Commond Languaje Runtime (CLR)
      • . NET Framework library
      • ADO .NET
      • ASP .NET
      • Interfaz de usuario
      Programación ASP.NET
    • 7.
      • Descripción
        • Simplifica desarrollo por un entorno robusto
        • Soporta múltiples lenguajes
        • Proporciona un entorno gestionado (Garbage collection, seguridad)
      Programación ASP.NET
    • 8.
      • Class Loader. Carga en memoria y prepara para su ejecución
      • MSIL (Microsoft Intermediate Languaje). Convierte MSIL a código nativo justa antes de ejecutar
      • Code Manager. Gestiona la ejecución del código
      • Garbage Collection . Controla el ciclo de vida de todos los objetos
      • Security Engine . Permite tener seguridad por el origen del código y por el usuario
      • Debug Engine. Depurar y realizar trazas del código
      • Type Checker. Evita uso incorrecto de variables no inicializadas
      • Excepcion Manager . Estructura de manejo de excepciones.
      • Thread Suport . Programación multihilo.
      • Com Marshaled. Gestion de comunicación de objetos com
      • .NET FrameWork Class Library Support.
      Programación ASP.NET
    • 9.
      • Namespace .
        • Organización Lógica de tipos y clases base relacionadas.
        • Un namespace puede agrupar otros namespaces
      • System. Contienen definición de las clases fundamentales
        • Sytem.Collections. Ordenación de listas, agrupación de datos
        • System.IO. Entrada y salidad de datos a ficheros, streams.
        • System.NET. Protocolo TCP/IP y control de socket
        • ..... .NET Framework SDK Documentation
      Programación ASP.NET
    • 10.
      • Nueva generación de ActiveX Data Object
      • Soporta programación desconectada
      • Provee soporte para XML
      • System.Data. Namespace que contiene la clase DataSet
      • System.XML Namespace que soporta XML según la compilación W3C.
        • System.XML.Xsl, soporta transformaciones.
        • System.XML.Serializacion, contiene la base para los Servicios Web
      Programación ASP.NET
    • 11.
      • Apartado del framework que permite desarrollar potentes aplicaciones Web
      • Elementos
        • ASP .Net Web Forms, permite desarrollar interfaces de usuario
        • ASP .NET Web Services, estructura para construir aplicaciones web distribuidas
        • ASP .NET Web Services, se basan en protocolos estándar de internet (HTTP, XML,SOAP)
        • System.Web, clases básicas para el cacheado, seguridad, configuración
        • System.Web.Services, gestiona los servicios web
        • System.Web.UI, contiene los controles Html (HTMLControls) y los controles web (WEBControls)
      Programación ASP.NET
    • 12.
      • Evolución más flexible de ASP
      • Páginas Web Dinámicas que pueden acceder los recursos del Servidor
      • Procesamiento del lado del Servidor de Formulario Web
      • Servicios Web XML que permiten crear Aplicaciones Web distribuidas
      • Independiente del navegador
      • Independiente del Lenguaje
      Programación ASP.NET
    • 13.
      • Uso de herencia, constructores, destructores, sobrecarga, polimorfismo permitiendo la potencia de C#
      • Estructura de gestión de excepciones anidadas
      • Programación multihilo (multithreading)
      • Garbage Collection, evita que se queden objetos en memoria sin utilizar.
      • Creación web forms facilmente, programando eventos de los controles como en formularios clientes
      • Creación de Servicios Web rápidamente a modo de la creación de componentes de VB 6
      Programación ASP.NET
    • 14.
      • El Entorno de Desarrollo
      • Soporte de múltiples lenguajes
      • Ensamblados y referencias
      • Compilación y ejecución
      • Espacios de Nombre - Namespaces
      Programación ASP.NET
    • 15.
      • IDE (Integrated Development Evironment)
      • Elementos de un proyecto
      • Uso de las características del entorno
      • Depuración de un proyecto
      • Compilación en .NET
      Programación ASP.NET
    • 16.
      • Solo un entorno para todas las herramientas de desarrollo
      • Una solución puede contener múltiples lenguajes
      • Una solución puede contener múltiples proyectos
      • Personalizar el entorno de trabajo
      • Visor de Internet integrado
      • Depuración de código
      Programación ASP.NET
    • 17.
      • Aplicación Windows, Aplicación estándar
      • Librería de Clases, a modo de dll de vb 6
      • Windows Control Library, Controles definidos por el usuario.
      • ASP .NET Web Aplication, aplicación que se va a ejecutar en un Internet Information Server.
      • ASP. Web Services, aplicación que va a proveer de servicios XML a aplicaciones clientes
      • Web Control Library, Controles de usuario para aplicaciones web.
      • Aplicación de consola, se ejecuta en la línea de comandos
      • Otras (Servicios Windows, proyectos vacíos..)
      Programación ASP.NET
    • 18.
      • Editor
        • Modo diseño
        • Modo Edición
      • Explorador de soluciones
        • Mostrar “todos los ficheros”
        • Anidar Elementos relacionados
        • Copiar Sitio
        • Propiedades sitio web
      • Ayuda Dinámica
      • Propiedades
      • Lista de Tareas
        • Personalizar elementos
      • Explorador de servidores
      • Caja Herramientas
        • Data, Web Forms, Components, HTML
      Programación ASP.NET
    • 19.
      • Facilita la anotación de temas pendientes
      • Mostrar la ventana
        • Ver  Lista de Tareas
        • CTRL + º, + T
      • Crear tareas directamente en la lista
        • Se muestran en la sección Tareas de usuario
      • Crear tareas mediante comentarios en el código
        • Se muestran en la sección comentarios
        • ‘ TODO texto de prueba
        • Editar la lista de palabras claves desde: Herramientas  Opciones  (Activar la casilla) Mostrar todas las configuraciones  Entorno  Lista de Tareas
        • Pulsando doble clic sobre la tarea va a la posición del código asociada
      Programación ASP.NET
    • 20.
      • Especificaciones
      • Crear un nuevo proyecto
      • Crear la interfaz
      • Escribir el código
      • Compilar el proyecto
      • Testar y depurar
      • Distribuir / implantar el proyecto
      Programación ASP.NET
    • 21.
      • Carpeta para la solución (.sln)
      • Utilizando localhost
        • Carpeta para los archivos web dentro de inetpubwwwroot
          • .vbproj, .aspx, web.config, global.asax. Asmx .ascx
        • Carpeta para el ensamblado inetpubwwwrootproyectoin
          • .dll
      • Utilizando sistema de archivos
        • Carpeta para los archivos web dentro de la ruta del sitio
          • .vbproj, .aspx, web.config, global.asax .asmx .ascx
        • Carpeta para el ensamblado ruta del sitioproyectoin
          • .dll
      Programación ASP.NET
    • 22.
      • Desde el explorador de soluciones
      • Bin  .dll
      • App_Browsers  .browser
      • App_Code  .cs, .vb, .xsd
      • App_Data  .mdb, .mdf, .xml
      • App_GlobalResources  .resx
      • App_LocalResources  .resx
      • App_Themes  .skin, .css, .xsl
      • App_WebReferences  .wsdl
      Programación ASP.NET
    • 23.
      • Establecer puntos de ruptura
      • Propiedades
      • Ventanas Depuración
        • Variables locales
        • Resultado de la compilación
        • Ventana de Inspección
        • Pila
        • Puntos de Ruptura
      • Ventana de Comando
        • Cmd, immed
      Programación ASP.NET
    • 24.
      • Ensamblados (.dll , .exe y ficheros auxiliares)
      • .Net FrameWork tiene ensamblado predefinidos
      • Se crean automáticamente cuando se construye un proyecto
      • Referencias a elementos externos del proyecto.
        • .NET
        • COM
        • Proyectos
      • Menú Proyecto  Agregar Referencia
      • Botón derecho en el proyecto  Agregar Referencia
      Programación ASP.NET
    • 25. Programación ASP.NET
      • Compilación automática
      • Proceso mejorado ASP NET 2.0
      • Eliminación pre compilación en el IDE
      • Proveedores de construcción personalizados
      • Compilación dinámica en dos pasos
        • Analizar sintácticamente los archivos
        • Compilarlos
      • Precompilación sobre la marcha
    • 26.
      • Organización lógica de objetos relacionados
      • Crea Nombres perfectamente identificados para los objetos
        • Evita ambigüedad
        • Evita conflicto con nombres entre clases
      • Uso de Import facilita la lectura del proyecto
          • Imports MiProyecto.Superior.EnSuperior
          • ....
          • Dim y as New Interior()
      • Se puede acceder a cualquier elemento en un ensamblado mediante su nombre cualificado
      Programación ASP.NET
    • 27.
      • Qué es un web Form
      • Crear ASP
      • Actualizar Html -> ASP
      • Tipos de controles Servidor
      • _VIEWSTATE
      • Controles HTML
      • Controles WEB
      • Controles Personalizados
      Programación ASP.NET
    • 28.
      • Combinación de código HTML + controles que se ejecutan en el servidor
      • Diferencia con ASP tradicional
      • Extensión .aspx
      • Pueden coexistir con páginas .asp o .html
      • Ficheros .aspx.vb /.aspx.cs contienen el código asociado
      Programación ASP.NET
    • 29.
      • Tres niveles de atributos
        • Page, Definen funciones globales
        • <%@ Page Languaje=“vb”
        • CodeFile =“WebForm1.aspx.vb” SmartNavigation=“true” %>
        • <%@ Page Languaje=“c#” CodeFile =“WebForm1.aspx.cs” SmartNavigation=“true” %>
        • Código, gestión de eventos del formulario
          • <script> </script>
        • LayOut, presentación de los datos
          • Body, Como se va a mostrar la página
            • < body>
            • ....
            • </body>
          • Form, como se procesan grupos de control
            • < form id=“Form1” method “post” runat=“server”>
            • ....
            • </form>
      Programación ASP.NET
    • 30.
      • Languaje
        • Lenguaje en el que está escrita
        • Vb, c#, jscrip
      • CodeFile
        • Qué página contiene el código
      • Inherits
        • Clase con la que va a trabajar
      • AutoEventWireup
        • Si hay que especifiacar los procedimientos para los eventos o los toma dependiendo del nombre del procedimientos
      Programación ASP.NET
    • 31.
      • Código para ejecutar eventos del cliente
      • <script runat=“server”> el evento se ejecuta en el servidor
      • Se recomienda programar los eventos de servidor en el fichero de código asociado para diferenciarlo del código que va a interpretar el navegador
      Programación ASP.NET
    • 32.
      • No tiene que ver con el concepto de formulario
      • Puedes tener varios <form> .. </form> en una web pero solo uno que se ejecute en el lado servidor
      • Method, como se envian los valores al servidor
        • Post, datos se envian en parejas nombre/valor dentro de la peticion http
        • Get, datos se pasan como un estring
      • Runat,identifica si se devuelve información al servidor
        • Runat=“server”, envia la información al servidor
        • No tiene, se ejecuta como un formulario HTML
      Programación ASP.NET
    • 33.
      • Nueva Sitio Web
        • Crea por defecto Default.aspx
      • Añadir un nuevo formulario
        • Mediante la opción añadir nuevo elemento
      • Actualizar un formulario existente html
        • Renombrando el archivo a .aspx
      Programación ASP.NET
    • 34.
      • HTML server controls
        • Añadir runat=“server” para tratarlo en el modo servidor
      • Web server controls
        • Integrados, equivalentes a los controles HTML
        • Validación, testar los datos introducidos
        • Enriquecidos, funcionalidad avanzada
        • Enlazados a datos
        • Controles Web, presentación de datos en navegadores
      Programación ASP.NET
    • 35.
      • Acceso desde el lado de servidor
      • Las propiedades son todas tipo String, por lo que solo se detecta los errores cuando se ejecuta
      • Esta dentro de una etiqueta <Form ... Runat=“server”>
      • Interesa cuando utilizan funciones de java
      • Permite actualizar rápidamente una página html con nuevas funcionalidades
      • <input type=“text” id=“textname” runat=“server”>
      Programación ASP.NET
    • 36.
      • Creados para ASP.NET
      • No tienen funcionalidad si no tienen una etiqueta runat=“server”
      • Propiedades son tipadas, permite detectar errores antes de compilar
      • Namespace System.Web.UI.WebControls
      Programación ASP.NET
    • 37.
      • Cada vez que se pide una página se construye la página y todos sus controles y se destruye después de que se envié al navegador para aumentar la capacidad del servidor
      • Soluciona el problema de que se limpien los controles cuando viaja entre el servidor y el cliente.
      • Control oculto _VIEWSTATE, guarda el estado dentro de una sección <form ... Runat=“server”>
      • Contiene un string de pares nombre-valor, con los nombres de cada control y el último valor
      • Cada petición se actualiza el control
      • Habilitar viewState a nivel de @Page o a nivel de control
      • <%@ Page EnableViewState=“true” %>
      • <asp:ListBox id=“ListName” EnableViewState=“true” runat=“server”></asp:listbox>
      Programación ASP.NET
    • 38.
      • Creación en tiempo de Diseño
        • Desde la barra de herramientas de controles
        • Creación del código HTML de forma directa
      • Posicionamiento Absoluto o relativo
        • Herramientas  Opciones  Diseñador HTML  Posición CSS
      • PostBack
        • Hay controles que automáticamente generan un postback (button)
        • Otros controles (textbox) no lo tienen y sus eventos se disparan cuando uno que si lo tiene se ejecuta
        • Se puede modificar el comportamiento modificando la propiedad AutoPostBack a True del control
      Programación ASP.NET
    • 39. Programación ASP.NET Control de servidor Equivalente HTML Función <asp:button> <input type=submit> Crea un botón que envia una petición al servidor <asp:checkbox> <input type=checkbox> Casilla de verificación <asp:hyperlink> <a href=“...”> </a> Hiperenlace a una etiqueta HTML <asp:image> <img srec=“...” > Crea un área para mostrar una imagen <asp:imagebutton> <input type=image> Botón con imagen en vez de texto <asp:LinkButton> No tiene Botón con apariencia de hiperenlace <asp:label> <span> </span> Texto que no puede modificar el usuario <asp:listbox> <select size=“5”></select> Lista de elementos de selección múltiple
    • 40. Programación ASP.NET Control de servidor Equivalente HTML Función <asp:panel> <div></div> Panel contenedor de controles <asp:radiobutton> <input type=radiobutton> Botón de radio <asp:table> <table> </table> Crea una tabla <asp:textbox> <input type=text> Cuadro de texto <asp:literal> No tiene Texto
    • 41. Programación ASP.NET Control Función CompareValidator La entrada tiene que coincidir con otra entrada CustomValidation La entrada tiene que cumplir un criterio RangeValidator La entrada tiene que estar en un rango RegularExpressionValidator Tiene que cumplir un patrón RequiredFieldValidator Usuario tiene que entrar un valor antes de que se procese el control ValidationSummary Recoge todos los mensajes de error de los controles de validación para mostrarlos centralizados
    • 42. Programación ASP.NET Control Función AdRotator Secuencia de imágenes, aleatorias o no Calendar Muestra un calendario
    • 43. Programación ASP.NET Control Función CheckBoxList Columna de valores en formato checkbox Repeater Muestra información de un dataset utilizando un conjunto de controles HTML, se repite para cada valor del dataset DataList Similar al repeater pero en formato lista DataGrid Muestra la información de un dataset en columnas DropDownList Muestra los datos en un desplegable ListBox Muestra los datos en una ventana RadioButtonList Muestra una columna de botones de opción GridView Versión avanzada del Data grid
    • 44.
      • Label,
        • Muestra información que se puede modificar desde el código del servidor
        • Para texto fijo mejor utilizar el control literal de HTML
        • Utilizar la propiedad text para escribir el valor
      • TextBox
        • Muestra y recoge información del usuario
        • Propiedad text contiene el texto del textbox
        • TextMode, Formato del cuadro de texto
          • SingleLine, Multiline, Password
        • Columns, Rows, máximo ancho y largo del cuadro de texto
        • MaxLength, número de caracteres máximo
      Programación ASP.NET
    • 45.
      • Button
        • Boton que genera un postback al servidor
        • Tipo submit (por defecto), solo genera un postback al servidor
        • Tipo command, indicar el nombre de la acción en la propiedad commandName. Se gestiona con el evento command
        • Propiedad CausesValidation, por defecto true, hace que se valide el formulario
      • CheckBox
        • Permite seleccionar entre cierto y falso
        • Checked indica su estado
        • Text, el literal que muestra
        • Evento CheckedChange se ejecuta cuando hay un cambio en la propiedad check.
        • Autopostback por defecto es false
      Programación ASP.NET
    • 46.
      • RadioButton
        • Seleccionar opciones de forma exclusiva en un grupo
        • GroupName, todos los que tengan el mismo valor se validan juntos
        • Text, contiene el título
        • Checked, indica si está activo o no
      Programación ASP.NET
    • 47.
      • Trabajar con imágenes
        • <img src=rutainmagen />
        • Controles Asp.net
      • Image
        • Muestra una imagen en la web
        • Imageurl, indica la dirección de la imagen
        • AlternateText, texto que muestra si no se carga la imagén, y en el texto de ayuda
        • GenerarteEmptyAlternateText, indica si queremos que se genere texto alternativo de forma automática
        • No tiene evento Click
      Programación ASP.NET
    • 48.
      • ImageButton
        • Muestra una imagen que si que tiene evento Click
        • ImageUrl, dirección de la imagen
        • Eventos Click y command iguales al del boton
      • ImageMapcontrol
        • Similar al imagebutton pero puedes definir un área para que sea clickeable
        • ImageUrl, es la imagen a mostrar
        • HotSpotArea, comportamiento cuando se pincha en un área de la imagen
          • PostBack, generar un postback al servidor pudiendo pasar un texto como parámetro
          • Inactive, no hace nada
      Programación ASP.NET
    • 49.
      • Table
        • Muestra una tabla que se puede modificar en tiempo de ejecución añadiendo TableRow y TableCell
        • Hay que redibujar el control cada vez que sucede un postback
      • Calendar
        • Presenta un calendario, donde el usuario puede seleccionar fechas
        • SelectionChanged genera un postback
        • Evento DayRender, poner texto cuando se cambia de día
        • VisibleDate, mes que se quiere mostrar
        • SelectionMode, como queremos seleccionar la información del control
      • FileUpload
        • Muestra los controles para subir un archivo a internet
        • Hay que programar si queremos guardar el fichero
        • No genera un postback, por lo que hay que utilizar otro control
        • HasFile, indica si es un fichero lo que se ha selccionado
        • SaveAs, metodo para guardar el fichero
      Programación ASP.NET
    • 50.
      • Web.SiteMap
        • XML con la representación del sitio web
      • SiteMapPath
        • Representa web.sitemap
      • SiteMapDataSource
        • Enlaza con el XML y permite utilizarlo con otros controles
        • StartingNodeOffset
      • TreeView
        • Representación de un SiteMapDataSource
        • Formado por TreeNode
        • Permite colapsarse o expandirse
      • Menu
        • Representación de un SiteMapDataSource
        • Formado por MenuItem
        • Permite programar eventos servidor o redirección a páginas
      Programación ASP.NET
    • 51.
      • ListBox, lista de datos
        • Utiliza la colección Items que contiene todos los elementos
        • Cada uno tiene la propiedad Text que es lo que muestra y Value que es lo que devuelve al servidor
        • Se enlaza a un DataSource y a un DataMember
        • SelectedIndex, SelectedItem, SelectedValue es la forma de acceder al elemento seleccionado
      • DropDownList
        • Similar al listBox, pero solo muestra los valores cuando se despliega la lista
      Programación ASP.NET
    • 52.
      • CheckBoxList
        • Similar al listbox donde se puede hacer la selección marcando las casillas
        • RepeatDirection y RepeatColumns son propiedades para indicar como rellenar el control con los valores
        • Selected, indica si el item está seleccionado
      • RadioButtonList
        • Similar al chekboxList pero solo se puede seleccionar una opción
      Programación ASP.NET
    • 53.
      • AdRotator
        • Muestra una lista de imágenes de forma aleatoria
        • Obtiene la información de una base de datos o de un fichero xml
        • ImageUrl, dirección de la imagen
        • NavigateURL, la dirección donde se va al pulsar
        • Impressions, frecuencia con la que se muestra
        • Height, altura de cada anuncio
        • Widt, anchura de los anuncios
        • Recomendable dejar las imágenes dentro de la carpeta App_Data
      Programación ASP.NET
    • 54.
      • Simplifica la reutilización de código y componentes del entorno de usuario.
      • Es un fichero .ascx
      • Se compilan la primera vez que se llaman y se almacenan en la caché de ensamblados
      • Tienen que estar integrados en un formulario, no puede contener etiquetas <HTML>, <BODY>,<FORM>
      • Tiene código asociado, se identifica en el apartado @control en vez de @Page
          • <@ control Language=“vb” CodeFile=“WebUserControl1.ascx.vb” inherits=“test.webuserControl1” %>
      • Se puede escribir en distinto lenguaje que el formulario
      Programación ASP.NET
    • 55.
      • Creación a partir de Visual Studio .NET
        • Las páginas interactúan con el control mediante propiedades
        • Recomendable el uso de flow layout
        • Añadir los elementos de la interfaz de usuario
        • Añadir los procedimientos que interactúen con el Webform que lo albergue
      Programación ASP.NET
    • 56.
      • Quitar las etiquetas <HTML>, <BODY>,<FORM>
      • Si existe la directiva @page, sustituirla por una @control
      • Renombrar la página de .aspx a .ascx
      • En la clase indicar inherits=System.web.UI.UserControl
      • Crear las propiedades ya que el webform no puede comunicarse directamente con los controles que forman el control de usuario
      Programación ASP.NET
    • 57.
        • <%@ Register TagPrefix=“demo” TagName=“NumeroValido” Src=“CajaNumero.ascx %>
      • Se situa en un web form igual que cualquier otro control
      • @register, se utiliza para incluirlo en un formulario
      • TagPrefix, identifica un espacio de nombres, permite tener varios controles sin conflicto
      • TagName, nombre único para cada control
      • Src, identifica el control
      • No podemos utilizar posicionamiento absoluto con DHTML, si lo queremos hacer tenemos que ponerlo dentro de un panel
      Programación ASP.NET
    • 58.
      • Definir las propiedades del control, haciendo referencia a los controles internos
          • Public Property pnum() as integer
            • Get
              • Return cint(txtnum.text)
            • End Get
            • Set (byval value as Integer)
              • Txtnum.text =value.tostring()
            • End Set
          • End Property
      • Uso de las propiedades del control, desde el WebForm que lo contiene
          • Protected Num1 as CajaNumero
          • Lblsum.text=Num1.Nnum.ToString()
          • Num1.Pnum=5
      Programación ASP.NET
    • 59.
      • Definición
        • Página Maestra  estructura heredable
        • Página Contenido  personalizas cada página
      • Beneficios
        • Sitio web con entorno consistente
        • Ahorro de tiempo de programación
        • Podemos tener varias páginas maestras en un proyecto
      • Añadir una página Maestra
        • Añadir desde Explorador de Soluciones un nuevo archivo index.Master
      • Añadir una página de Contenido
        • Añadir desde el explorador de soluciones un nuevo archivo del tipo Web.Form activando la casilla Seleccionar página maestra
      Programación ASP.NET
    • 60.
      • Páginas de código-behind
      • Eventos en Controles Web Server
      • Eventos de Página
      • Concepto de PostBack
      • Ejemplos de código
      Programación ASP.NET
    • 61.
        • En el mismo fichero, entre el HTML
          • Difícil, seguir el código
          • Utiliza en ASP
          • Pueden utilizar varios idiomas
        • En el mismo fichero, en una sección aparte
          • Separado en una sección SCRIPT
          • <SCRIPT Languaje=“vb” runat=“server”>
            • Sub btn_click(s As Object, e As EventArgs)_ Handles btn.Click
            • ....
            • End Sub
          • </SCRIPT>
        • En un fichero separado
          • En la página de código asociado
          • Cada fichero sólo puede contener un idioma
      Programación ASP.NET
    • 62.
      • Acción que responde a una actuación del usuario con un control de la página
      • Tipo de evento por área de ejecución
        • Eventos de servidor
        • Eventos de cliente
      • Ejemplo de evento
        • Pulsar un botón Submit
      Programación ASP.NET
    • 63.
      • Se ejecuta en el equipo cliente, no se envía información al servidor
      • Solo para controles HTML
      • Ejecutan inmediatamente
      • Eventos tipo onChange y mouse Keys
      • Sintaxis
      • <SCRIPT languaje=“javascrip”>
      Programación ASP.NET
    • 64.
      • Se ejecuta en el equipo servidor, la petición se envía al servidor para su proceso
      • Los procedimientos de evento es código compilado que está en el servidor
      • Sirve para controles HTML y Web
      • Soporta un número menor de eventos, por la demora del envío de la información
        • Algunos OnChange
        • NO soporta MouseKeys
      • Sintaxis
      • <SCRIPT languaje=“vb” runat=“server”>
      • <SCRIPT languaje=“c#” runat=“server”>
      Programación ASP.NET
    • 65.
      • Acceso a los eventos
        • Al hacer doble clic sobre un control, se crea un evento con el mismo Id que el control
        • Seleccionar el evento de la lista
        • Seleccionar el botón eventos en las propiedades del control
      • Argumentos
        • El objeto que envía el evento (sender)
        • Una instancia del evento (e)
          • Tipo EventArgs, sin informacion adicional
          • Imágenes ImageClickEventArgs, información de coordenadas
      • Utilizar Ctype para convertir sender
      Programación ASP.NET
    • 66.
      • AutoEventWireup
        • Si hay que especificar los procedimientos para los eventos o los toma dependiendo del nombre del procedimientos
      • Gestionar varios controles con HANDLED
      • Procedimientos de eventos personalizados
        • AddHandler
        • AddressOf
      Programación ASP.NET
    • 67.
      • Orden de generación de los eventos
        • Page_init
        • Page_Load
        • Eventos de Control
        • Page_Unload
      • Hay eventos de control que no se ejecutan hasta que el Web Form se envía al servidor (Change)
      • PostBack, envío de información al servidor
      • Se puede forzar si el control tiene la propiedad AutoPostBack=true
      Programación ASP.NET
    • 68.
      • El evento Page_Load se ejecuta cada llamada
      • Propiedad page.isPostBack, determina si ya se ha enviado al servidor
        • If not Page.IsPostBack then
          • ‘ Ejecuta solo la primera vez
        • End If
        • If (!Page.IsPostBack)
        • {
        • //ejecuta la primera carga
        • }
      Programación ASP.NET
    • 69.
      • Acceso a los controles de una página web
        • Objeto Me
        • Colección de controles
      • Escribir información
        • Asignar la información según el tipo
          • control.propiedad=valor
      • Leer información
        • Almacenar la información en una variable
        • Utilización en una función
          • Variable=control.propiedad
          • If control.propiedad then..
      Programación ASP.NET
    • 70.
      • Asignar la imagen en tiempo de ejecución
        • Propiedad imgUrl
        • Objeto Application.MapPath
        • Identificar la ruta a partir de la raiz “~” (alt 126)
      • Crear imágenes de distinto tamaño en tiempo de ejecución
        • Clase Bitmap
          • Gestiona mapa de bits
          • Permite Guardar en formato bmp, jpg, gif, png con método save
          • GetThumbnailImage
      Programación ASP.NET
    • 71.
      • Colecciones de elementos
        • Propiedad items
      • Escribir información
        • Método ADD de la propiedad items
        • Asignar a un origen de datos
      • Leer información
        • Elemento Seleccionado
        • Recorrer la colección items
      Programación ASP.NET
    • 72.
      • Crear menús en tiempo de ejecución
        • Crear el nodo o el elemento
        • Añadir el nodo al menú o al árbol
        • Propiedad Items y ChildItems en los menús
        • Propiedad Nodes en losTreeview
      • Leer información
        • Recorrer el menú/árbol mediante los nodos
      • Responder al Evento
        • Propiedades SelectedNode, SelectedMenuItem
      Programación ASP.NET
    • 73.
      • Propiedades
        • Se definen en el fichero de código adjunto
        • Especificar el apartado Get y Set
      • Escribir información
        • Ejecuta el código del apartado Set
        • Desde la página se utiliza  control.propiedad=valor
      • Leer información
        • Ejecuta el código del apartado Get
        • Desde la página se utiliza  Variable=control.propiedad
      • Eventos
        • Se programan en el control de usuario
      Programación ASP.NET
    • 74.
      • Desde la página Maestra
        • Trabajar como una página normal
        • Se ejecutan en el código de master.vb
      • Desde las páginas de Contenido
        • Personalizar la ejecución del evento según la página
        • Gestionar el evento de un control
          • Hacer accesible el control con una propiedad  master.vb
          • Gestionar el evento desde la content  aspx.vb
        • Gestionar con eventos personalizados genéricos
          • Crear un evento personalizado
          • Lanzar desde la master el nuevo evento  master.vb
          • Consumir el evento desde la content  aspx.vb
      Programación ASP.NET
    • 75.
      • Información en tiempo de ejecución
      • Activar la Traza
      • Utilizar el objeto TRACE
      • Uso de Traza a nivel de Aplicación
      • Página de Error Personalizada
      Programación ASP.NET
    • 76.
      • Activar modo depuración
        • De forma automática
        • Mediante la herramienta de configuración
        • Añadiendo debug=true en web.config
      • Establecer puntos de ruptura
        • Pausar el código al ejecutar la sentencia marcada
        • Se puede establecer condiciones
      • Ventanas Depuración
        • Variables locales
        • Ventana de Inspección
        • Puntos de Ruptura
      Programación ASP.NET
    • 77.
      • Volcar información mediante objetos Debug y Trace
      • Tipos de información
        • Mostrar valores de variables
        • Determinar cuando se cumple una condición con Trace.Writeif
        • Seguir el proceso de ejecución
      • Las sentencias Trace no se muestra sino se activa en web.config o en la cabecera @page
        • No es necesario quitar o comentar todo el código
      • El objeto Debug solo se muestra cuando se ejecuta en modo depuración
      Programación ASP.NET
    • 78.
      • A nivel de página, solo muestra información de traza en la página en la que se activa
        • <%@Page Languaje=“vb” Trace=“true” %>
        • Se añade la información de traza al final de la página
        • Todos las sentencias Trace.Write serán visibles
      • Si se activa la traza a nivel de aplicación, también se muestra la información de página
      Programación ASP.NET
    • 79.
      • Trace.Write y Trace.Warn son iguales salvo que Warn muestra el mensaje en rojo.
      • Muestran mensajes en la traza
      • Sintaxis
        • Trace.Write(“Categoria”,”Mensaje”)
        • Categoría, sirve para agrupar los mensajes
      • Ejemplo
        • Trace.Write(“Mi traza”, “Empieza el código de usuario”)
      • Trace.IsEnabled
        • indica si la traza está activa
        • Se puede modificar en tiempo de ejecución
          • Trace.IsEnabled=False ‘ Desactiva la traza
      Programación ASP.NET
    • 80.
      • Muestra la información al final de la página
      • Divide la información
        • Información de la solicitud
        • Información de Seguimiento, datos tanto estándar como los generados por el objeto TRACE
        • Árbol de Control, los elementos y su tamaño
        • Estado de la sesión, variables de sesión
        • Estado de la aplicación, variables globales
        • Lista de Cookies, lista de cookies utilizadas en metodos recuest
        • Lista de Cookies de respuesta, lias de cookies en métodos response
        • Colección de encabezados, información de la cabecera HTML
        • Colección de formularios, valores devueltos al servidor
        • Colección de cadenas de respuesta,valore sen querystring
        • Variables de servidor, las variables del servidor
      Programación ASP.NET
    • 81.
      • Aplica la traza a todas las páginas del proyecto
        • Menú Sitio Web  Configuración ASP .NET  Aplicación  Depuración y Seguimiento  Capturar información de seguimiento
        • Modificar el fichero web.config
          • <trace enabled=“true” pageOutPut=“true” LocalOnly=“true”/>
      • Relación con el atributo trace de @page.
        • Si está activo en @page, se muestra siempre
        • Si no está definido se muestra siempre
        • Si está a false no se muestra la traza
      • Mostrar seguimiento.. (PageOutPut), indica si se muestra la información en la página o si se almacena en memoria
        • Cuando está en memoria ejecutar ervidorproyecto race.axd
      • Mostrar resultado para.. (LocalOnly), solo se muestra la traza en la máquina local. No se puede acceder desde otra máquina
      Programación ASP.NET
    • 82.
      • Redirigir el error ha una página amigable para el usuario
      • Se define en el web.config
        • Directamente editando el fichero
        • Desde la herramienta de configuración de la aplicación
      • Podemos utilizar cualquier página del proyecto
      • Atributos
        • CustomErrorPage  la página a mostrar
        • LocalOnly  si se ven los errores en local o no
      Programación ASP.NET
    • 83.
      • Utilidad de los controles de validación
      • Tipos de controles
      • Propiedades comunes
      • Control personalizado
      • Page.IsValid
      Programación ASP.NET
    • 84.
      • Verifican que los datos son “válidos” o que se han introducido todos los valores necesarios
      • Evitan
        • Datos incorrectos antes de que se procesen en el servidor
        • Spoofing, sustitución de código HTML en el cliente, mediante la verificación de los datos en los dos lados cliente/servidor
        • Código malicioso, provocar desbordamiento del servidor con cadenas de texto muy largas y SQLInyection mediante los input box
      • Verificación en el lado cliente y servidor
        • Cliente, comprueba cuando se pulsa un botón submit, si no se cumple no envía la información al servidor
        • Servidor, se vuelve a validar la información
      Programación ASP.NET
    • 85.
      • CompareValidator, compara el contenido de ese control con el de otro control del mismo WebForm.
        • Type indica el tipo de datos a comparar
        • Operator, tipo de comparacion
      • CustomValidator, código de comprobación personalizado
      • RangeValidator, Comprueba que el valor esta dentro de un rango.
        • Type indica el tipo de datos a validar
        • Hay que indicar MinimunValue, MaximumValue
      • RegularExpressionValidator, el contenido tiene que cumplir un formato determinado
        • www.regular-expressions.info
      • RequiredFieldValidator, Obliga a introducir un valor en el campo, se puede usar junto con los otros controles
      • ValidationSummary, resumen de los errores de los controles de validación de la página
      Programación ASP.NET
    • 86.
      • Todos los controles de validación menos el ValidationSummary tienen propiedades especificas comunes
        • Controltovalidate, control de la página a validar
        • EnableClientScript, validar los datos en el cliente
        • ErrorMenssage, texto que va a mostrar si no se cumple el criterio en el control ValidationSummary.
        • Text, mensaje que muestra en el caso de error, si se deja en blanco muestra el texto que haya en ErrorMenssage
        • Display, comportamiento de los controles en el caso de FlowLayout
          • Static, reserva espacio para las etiquetas aunque no se muestren
          • Dynamic, no reserva espacio, cuando se muestra el error, se ajusta el formulario
          • None, no muestra errores
      Programación ASP.NET
    • 87.
      • Se ejecuta en el lado del cliente y servidor
      • Permite programar código
      • Propiedades propias
        • ClienteValidationFunction, nombre del script que se ejecuta en el cliente
        • OnServerValidate, nombre del que se ejecuta en el servidor
      Programación ASP.NET
    • 88.
      • Propiedad del objeto Page que es true si todos los controles de validación son correctos
      • Cuando se ejecuta se muestra el control ValidationSummary si es el caso
            • If Page.IsValid then
              • lblResultado=“Correcto”
            • End If
      Programación ASP.NET
    • 89.
      • Presentación
      • Controles Enlazados
      • DataBinding
      Programación ASP.NET
    • 90.
      • Modelo ASP 2.0 vs ASP 1.1
        • Nuevos controles
          • Más ligeros
          • Más fáciles de utilizar
          • Menos código para obtener los mismos resultados
      • DataBindig  Enlazar controles a un origen de datos
        • Simple, enlaza un control a un campo del origen de datos.
        • Compleja, enlazar un control a varios campos de un origen de datos
      • App_Data
        • Carpeta por defecto para establecer los orígenes de datos
        • Puede contener Access (mdb), SQL Express (mdf), XMl
      Programación ASP.NET
    • 91.
      • Tipos
        • Específicos para enlazar a origen de datos  GridView
        • Generales, se pueden enlazar aunque con limitaciones  TextBox
        • Mixtos, permiten trabajar con un origen de datos o independientes  ListBox
        • Controles de Acceso a datos, no son visibles pero permiten enlazar a otros controles  SQLDataADapter
      • Cadenas de conexión
        • Genera automáticamente en función del origen de datos
        • Muestra por defecto el contenido de App_Data
        • Permite guardarlas en web.config
      • DataSource vs DataSourceid
        • DataSourceId, indica el control de origen de datos, en cambio Datasource indica el objeto de origen de datos
      Programación ASP.NET
    • 92.
      • SqlDataSource
        • Enlaza con un origen de datos SQL (no solo SQL Server)
        • Especificar base de datos, consulta/ tabla, filtros, ordenacion
      • AcessDataSource
        • Enlaza con bases de datos Access
        • Igual que el anterior pero más limitado
      • ObjectDataSource
        • Enlaza con objetos de negocio definidos en una clase
        • Seleccionar el objeto y los métodos a utilizar
      • XmlDataSource
        • Enlaza con un origen de datos XML
        • Especificar archivo, el archivo de transformación (si es necesario) y xPath para indicar el tipo de nodo a mostrar
      • SiteMapDataSource
        • Enlaza con web.sitemp para crear la estructura de navegación del sitio
      Programación ASP.NET
    • 93.
      • ListBox, DropDownList, CheckBoxList, RadioButtonList, BulletedList
      • Permiten trabajar enlazados a datos o de forma independiente
      • Tienen propiedades comunes para el enlace a datos
        • DataSourceId, identificador del control origen de datos de donde van a cargar la información
        • DataValueField, nombre del campo con el que se rellena la propiedad value de cada item
        • DataTextField, nombre del campo con el que se rellena la propiedad text
        • DataMemeber, en el caso de que el origen de datos tenga varios conjuntos de resultados, indicar el que se va a utilizar
      Programación ASP.NET
    • 94.
      • Repeater
        • Muestra información de cada registro del origen de datos en una fila
        • Hay que especificar los campos que se quieren mostrar desde la ventana de código
      • DataList
        • Muestra la información de cada registro del origen de datos en una fila del control
        • Permite indicar que campos queremos mostrar mediante plantillas
        • Es la versión avanzada de Repeater
      Programación ASP.NET
    • 95.
      • GridView
        • Muestra información en formato tabla
        • Esta formado por una colección de GridViewRow (Filas) y DatacontrolField (Columnas) que dan lugar a DataControlFieldCell (Celdas)
        • Cada Fila contiene una colección de celdas (cell)
        • Formato se puede dar mediante el asistente
      • DetailsView
        • Muestra únicamente un registro de un origen de datos
        • Permite navegar por los registros con la propiedad AllowPaging
        • Se utiliza junto a Gridview para crear formularios “maestro/detalle”
      • FormView
        • Similar a Details View, pero con más funcionalidad
        • Permite la edición de plantillas para los distintos modos, selección, edición e inserción
      Programación ASP.NET
    • 96.
      • Enlazar controles a un origen de datos
      • Propiedad DataSource , identifica el origen de datos puede ser un dataSet,
      • Propiedad DataSouerceID , indica el control origen de datos que está vinculado a los datos
      • Propiedad DataMember , dentro de un origen de datos con múltiples tablas puede especificar la tabla o la vista que queramos asociar
      • Propiedad DataKey , el campo clave del control cuando se selecciona un elemento del mismo
      • Metodo DataBind , actualiza los datos que recibe a través de la propiedad DataSource.
      Programación ASP.NET
    • 97.
      • Presentación
      • Integración con DataSet de ADO
      • XMLDataDocument
      • XMlDataTransform
      • Control Web XML
      • Servicios Web
      Programación ASP.NET
    • 98.
      • Método uniforme de intercambiar datos entre ordenadores
      • Están definidos tanto los datos como la estructura
      • La estructura es independiente de los datos y se puede ampliar en cualquier momento
      • Concepto de XML Bien Formado
      • XML Válido si el vocabulario cumple con el formato del esquema
        • XSD, Schema Definition Language, norma recomendada por W3C para validar XML
      Programación ASP.NET
    • 99.
      • XSD, estándar de definición de lenguajes
      • XSLT, Extensible Stylesheet Transformation, lenguaje para transformar ficheros XMl
      • XPath, Lenguaje para recorrer elementos de un XML mediante un árbol de nodos
      • DOM, Document Object Model, es una representación en memoria de un XMl que se puede navegar por él mediante nodos
      • XQuery, permite extraer e interpretar información XML
      Programación ASP.NET
    • 100.
      • Estándar de internet. World Wide Web Consortium ( W3C )
          • XML 1.0 - http://www.w3.org/TR/1998/REC-xml-19980210 - including DTD support.
          • XML Namespaces - http://www.w3.org/TR/REC-xml-names/ - both stream level and DOM.
          • XSD Schemas - http://www.w3.org/2001/XMLSchema
          • XPath expressions - http://www.w3.org/TR/xpath
          • XSLT transformations - http://www.w3.org/TR/xslt
          • DOM Level 1 Core - http://www.w3.org/TR/REC-DOM-Level-1/
          • DOM Level 2 Core - http://www.w3.org/TR/DOM-Level-2/
      • En el Framework es el espacio de nombres System.Xml
      Programación ASP.NET
    • 101.
      • Cargar información en un dataset desde un fichero xml
        • ReadXML, lee los datos y el esquema y lo pasa a un data set
        • Lee desde un objeto xmlReader (string, filestring)
        • Dim xmlFilename As String = &quot;XmlDocument.xml&quot;
        • Dim fsReadXml As New System.IO.FileStream _ (xmlFilename, System.IO.FileMode.Open)
        • Dim xmlReader As New System.Xml.XmlTextReader(fsReadXml)
        • Dim ds As New DataSet(&quot;New DataSet&quot;)
        • ds.ReadXml(xmlReader)
      Programación ASP.NET
    • 102.
      • Exportar el contenido de un data set a un fichero XML
        • WriteXML, escribe los datos y el esquema a un objeto stream, string, TextWriter, xmlWriter
        • xmlWriter, escribe sobre un fichero XML
        • Dim ds As DataSet
        • Dim writer As new XmlWriter (Server.MapPath(“export.Xml”))
        • ds.WriteXml(writer)
      Programación ASP.NET
    • 103.
      • Metodos de DataSet
        • ReadXmlSchema,Leer el esquema de un data set de un fichero XML. No los datos
        • WriteXmlSchema,Escribir el esquema en un fichero, no los datos
          • Dim ds As DataSet
          • Dim writer As XmlWriter
          • ds.WriteXmlSchema(writer)
      Programación ASP.NET
    • 104.
      • Muy ligado a los DataSet, permite manipular los datos directamente o a través del dataSet
      • Permite navegar mediante nodos
      • Podemos utilizar como elemento para la trasformación de XML con xmlTransform
      • Load, cargar la información directamente del documento
        • XMLDataDocument doc = new XmlDataDocument;
        • Doc.Load(server.MapPath(“file.xml”));
      • ReadXML, carga el documento en un dataset
        • Dim doc as XmlDataDocument = new XmlDataDocument()
        • doc.DataSet.ReadXML(Server.MapPath(&quot;store.xml”))
      Programación ASP.NET
    • 105.
      • El DataSet del objeto es la representación en ADO de la estructura del XML
      • Asignar a un control el origen de datos
        • Dg.DataSource = xmlDoc.DataSet
      • Extraer información
        • Dim elem as Xmlelement
        • Elem= xmlDoc.getElementFromRow(ds.Tables(0).rows(1))
      Programación ASP.NET
    • 106.
      • Permite escribir un fichero XML o mostrar información XML en el WebForm
      • La información se muestra donde está ubicado el control
      • Crear un control
        • Llevándolo desde la barra de controles
        • Escribiendo <asp:XML id=“xmldoc” runat=“server”/>
      Programación ASP.NET
    • 107.
      • Cargar datos al control
        • Propiedad DocumentSource, indicando la ruta del xml
        • En el evento Page_Load, asignar la ruta a la propiedad Document.
        • Introducir el texto entre la etiquetas < >
      • TransformSource, permite asignar un fichero de esquema control
      • Crear un objeto XML y asignarlo a un control
      Programación ASP.NET
    • 108.
      • Similar a los componentes de programación
      • Lenguaje independiente que el del web form
      • Independiente de la plataforma de desarrollo.
      • Basado en estandares de W3C
      • Se utiliza para compartir elementos de programación entre aplicaciones.
      Programación ASP.NET
    • 109.
      • Universal Description, Discovery and Integration (UDDI) protocol
        • www.uddi.org, uddi.microsoft.com
        • Especificaciones para ubicar servicios web a través de internet
      • Ficheros descubrimiento .disco .vsdisco, contienen la información de donde encontrar servicios. Se crean automáticamente cuando se programa el servicio
      • Ficheros de descripción .wsdl, tiene las especificaciones del servicio web
      Programación ASP.NET
    • 110.
      • Acceder a la página web del servicio.
        • WsdlHelpGenerator.aspx
      • Seleccionar el servicio de la lista
      • Rellenar los parámetros si es caso y clicar en Invocar
      • El servicio devuelve la información en XML
      Programación ASP.NET
    • 111.
      • Añadir la referencia Web al proyecto
      • Crear un objeto a partir de la referencia
        • Dim ws as new prueba.localhost.servicio1
      • Utilizar los métodos del servicio web a través del objeto Lbltitulo.text=ws.escribirHolaMundo
      Programación ASP.NET
    • 112.
      • Crear un proyecto utilizando la plantilla Servicio Web.
      • Archivo .asmx
        • @web Service, el nombre del archivo
        • Languaje, en que está escrito
        • Codebehaind page, código del archivo
        • Class, la clase del servicio
      • El código se escribe igual salvo que se pone <webmethod> delante de la función que queremos compartir
        • <WebMethod(Description:= “texto descripción”)>, La descripción del servicio web
      Programación ASP.NET
    • 113.
      • Introducción al estado de las aplicaciones
      • Global Asax
      • Cookies
      Programación ASP.NET
    • 114.
      • Cada página se destruye en cada petición, necesario un sistema para mantener la información globalmente
      • Lado del servidor
        • Application, la información es accesible para todos los usuarios
        • Session, la información solo es accesible para un usuario en concreto
        • SQL, almacenar la información en una base de datos
        • Objeto Caché, guarda la información a nivel de aplicación
      • Lado del cliente
        • Cookies, fichero de texto en el equipo del cliente
        • Propiedad, ViewState, automáticamente retine los valores
        • Query String, se añade la información a la URL
      Programación ASP.NET
    • 115.
      • Todas las aplicaciones tienen un global.asax
      • Se almacena en el directorio virtual de la aplicación
      • Gestiona eventos de inicio y fin de aplicación y de sesión
      • Es opcional
      Programación ASP.NET
    • 116.
      • Eventos más usuales
        • Applcation_Start, cuando se inicia la aplicación
        • Application_End, cuando se finaliza
        • Session_Start, cuando inicia un usuario
        • Session_End, cuando Finaliza un usuario
        • Application_Error, Cuando se da un error que no ha sido canalizado
      • Inicialización de Variables
        • Objeto Application, comparte información para toda la aplicación
        • Objeto Sessión, solo sobre el usuario
        • Se define la variable identificando el objeto y el nombre que queremos darle
            • Session(“Fondo”)=“beige”
            • Application[“numeroVisitas”]=0;
      Programación ASP.NET
    • 117.
      • Establecer valor a la variable
            • Session(“Fondo”)=“beige”
      • Bloqueos, evitar concurrencia
        • Application.Lock
        • Application.Unlock
          • Application.Lock
          • Application[NumeroVisitas]+=1
          • (int)Application[“NumeroVisitas”]=(int)Application[“NumeroVisitas”]+1;
          • Application.Unlock
      • Leer las variables, asignar el valor a un objeto o control
          • FondoControl=Session(“Fondo”)
          • lblNVisitas.text=Application[“NumeroVisitas”].to string
      Programación ASP.NET
    • 118.
      • Almacena automáticamente el estado de los controles de la página
      • Se puede desactivar desde la directiva @page ViewState=“False”
      • Almacena la información en objetos StateBag que se pasa como control oculto en las peticiones http
      • Podemos utilizarlo para almacenar información entre páginas
      • Se puede cifrar con viewStateEncryptionMode =Always
      Programación ASP.NET Public Property Indice() As Integer Get Dim o As Object = ViewState(&quot;Indice&quot;) If (IsNothing(o)) Then Return -1 Else Return CStr(o) End If End Get Set(ByVal value As Integer) ViewState(&quot;Indice&quot;) = value End Set End Property public int Indice { get { object o = ViewState[“Indice&quot;]; return (o == null)?-1 :(int)o; } Set { ViewState[“Indice&quot;] = value; } }
    • 119.
      • Crear cookies
        • Con la propiedad Cookie de los objetos Response y Request
        • Generan un objeto HttpCookiecollection
      • Cookies Temporales
        • Se crea el objeto pero no se guarda en disco.
        • Se borra cuando acaba el tiempo de sesion o cuando se cierra el navegador
      • Cookies Permanentes
        • Se guardan en disco
      Programación ASP.NET
    • 120.
      • Crear un cookie
        • Dim objCookie as new httpCookie(“miCookie”)
        • Dim now as datetime=dateTime.Now
      • Añadir elementos y asignar valores
        • objCookie.Values.Add(“hora”, now. To string)
        • objCookie.Values.Add(“Fondo”,”green”)
      • Establecer tiempo de expiración  Persistente
        • objCookie.Expires=now.addHours(1)
      • Añadimos el cookie a la colección
        • Response.cookies.add(objCookie)
      Programación ASP.NET
    • 121.
      • Primero leer el cookie
        • Dim objCK as httpCookie=Request.Cookies(“myCookie”)
        • httpCookie objCK=Request.cookies[“myCookie”];
      • Segundo leer el par clave – valor
        • lblTime.text=objCK.Values(“hora”)
        • lblTime.BackColor=System.Drawing.Color.FromName(obkCK.Values(“Fondo”))
        • Lbltime.text=objCK.values[“hora”]
        • lblTime.backColor=System.Drawing.Color.FromName(obkCK.Values[“Fondo”]);
      Programación ASP.NET
    • 122.
      • Objeto Caché
      • OutPut Cache
      • Implantación del proyecto
      Programación ASP.NET
    • 123.
      • Cada aplicación tiene un objeto
      • Permite almacenar elementos en memoria la primera vez que se utilizan y a partir de ese momento volver a utilizarlos
      • El objeto Cache no contiene información solo la referencia al objeto y sus dependencias
      • Podemos usarlo para pasar valores entre páginas de la aplicación ya que permite almacenar variables a nivel de aplicación
      • Tiene bloqueos incorporados para el uso de los objetos
      • Se eliminan automáticamente los objetos de la caché, junto con sus dependencias
      Programación ASP.NET
    • 124.
      • Crear una variable de forma implicita
          • Cache(“mivariable”)=valor
          • Cache[“mivariable”]=valor;
      • Crear variables de forma explicita con Insert y parámetros
          • Cache.Insert(“miVariable”,valor, Dependency, AbsoluteExpiration, SlidingExpiration, CacheItemRemoveCallBack)
      • Utilizar la variable
          • Lblvalor.text=cache(“mivariable”)
          • Lblvalor.text=cache[“mivariable”];
      Programación ASP.NET
    • 125.
      • Cuando se queda sin memoria se eliminan de forma automática los objetos más viejos
        • AbsoluteExpiration, propiedad datetieme en la que expira el objeto de la caché
        • Cache.insert(“mivariable”,valor,Nothing,Datetime.Now.AddMinutes(5),nothing)
        • SlidingExpiration, propiedad timeSpan tiempo que expira en función del último acceso
        • Cache.Insert(“miVariable”,valor,null,null,TimeSpan.FromSeconds(20));
        • Dependencies, identifica de que objeto depende. Cuande se elimine o expire ese objeto se eliminan todas sus dependencias
        • Cache.Insert(“miVariable”,valor,new CacheDependency(“mydoc.xml”)
        • CachéItemPriority, los que tengan más prioridad son los últimos en eliminarse en caso de que tenga poca memoria
        • Cache.Insert(“miVariable”,valor,null,null,CacheItemPriority.High, onremove);
      Programación ASP.NET
    • 126.
      • Mejorar rendimiento cacheando una página o partes de una página
      • Tipos de Output Cache
        • Página, almacena todo un web form
        • Parcial, almacenar controles estáticos de una página como controles de usuario
        • En el fichero .ascx
        • <%@ OutputCache Duration =“120” %>
        • Web Services, almacena el resultado del web service sin volver a llamarlo
          • <WebMethod(cacheDuratio:=300)>…
          • [WebMethod(cacheDuratio:=300)]…
      Programación ASP.NET
    • 127.
      • Compilación Dinámica
      • Precompilación
        • Copiar los archivos al servidor web
          • No Necesarios
            • Archivos de solución (.vbproj…)
            • Archivos de recursos .resx, ya están compilados en las dll
            • Páginas de código .vb, ya están compilados
          • Necesarios
            • in y su contenido
            • Web Form, Controles de Usuario y Servicios Web(.aspx,.asmx.ascx)
            • Ficheros de configuración
            • Archivos complementarios (imágenes, xml…)
      • Identificar en el IIS el proyecto como aplicación
      • Permisos para Network Service
      • No es necesario registrar el contenido de /bin
      • Poner el sitio fuera de linea con APP_OFFLINE.HTM
      Programación ASP.NET
    • 128.
      • Introducción
      • Autenticación - Autorización
      • Seguridad integrada IIS
      • Seguridad Forms
      Programación ASP.NET
    • 129.
      • Establecer diferentes sistemas para asegurar las aplicaciones web
      • Sistema complementario a la seguridad de la base de datos
      • IIS permite establecer distintos niveles de seguridad de forma automática
      • Establecer la comunicación con SSL para asegurar la transmisión de los datos
      Programación ASP.NET
    • 130.
      • Autentificación
        • Autentificarse, identificarse en el sistema
        • Validarse contra el sistema
      • Autorización
        • Proceso posterior a la autenticación
        • Verificar el nivel de acceso a un recurso en concreto
      Programación ASP.NET
    • 131.
      • Basada en Windows
        • Utiliza la seguridad de IIS
        • Util para intranets ya que utiliza la estructura de windows
        • No es muy útil para la mayoría de aplicaciones web
      • Basada en Formularios
        • Codificar manualmente la validación
        • Si es correcta el sistema envía un cookie al usuario
        • Útil para cualquier aplicación
        • Soporta todo tipo de clientes
        • Problemático por usar cookies
      • Microsoft Passport
        • Servicio Web de Microsoft
        • Una sola validación para multiples aplicaciones
        • Tiene coste
        • Utiliza cookies
      Programación ASP.NET
    • 132.
      • Niveles Autentificacion IIS
        • Anónimo, no hay autentificación
        • Básica
          • Se envía usuario y contraseña en modo texto
          • Se puede encriptar con SSL
        • Texto
          • Se envía la información codificada
          • Requiere Directorio Activo
        • Integrada
          • Utiliza Kerberos
          • Bueno para intrantet, malo para internet
          • Problemas con cortafuegos
      Programación ASP.NET
    • 133.
      • Configurar la seguridad en el IIS
        • Desde la consola de administración escoger el nivel de seguridad
          • Básica
          • Texto
          • Integrada
      • Establecer la autentificación en Web.Config
          • <system.web>
            • <authentication mode=“windows” />
          • </system.web>
      Programación ASP.NET
    • 134.
      • Establecer la autorización en Web.Config
        • Establecer una sección <Location> que indique que páginas son las que hay que autorizar
        • Se pueden establecer varias secciones <Location>
        • Se puede indicar una carpeta o una página
          • <location path=“consulta.aspx”>
          • <system.web>
          • <authorization>
          • <deny user=“?” />
          • </authorization>
          • </system.web>
          • </location path>
        • Deny user, niega el acceso a un usuario en concreto
          • ?, a acceso anónimo
          • * todos los accesos
        • Allow User, permite a un usuario en concreto
      Programación ASP.NET
    • 135.
      • Ejecutar el código con usuario predeterminado usando la clave <identity>
          • <identity impersonate=“true”
          • username=“usuario”
          • password=“contraseña” />
      • IIS pide la información de registro al usuario
        • Cuando se accede a una página con seguridad se muestra automáticamente la ventana de validación del usuario y contraseña.
        • Si es correcta la validación se reenvía automáticamente a la página solicitada
      Programación ASP.NET
    • 136.
      • Después de autentificarse se puede acceder a la información con el objeto User.Identity
      • User.Identity.Name
      • User.Identity.AuthenticationType
      • User.Identity.IsAuthenticated
          • Lblnombre.text=User.Identity.Name
          • lblTipo.text = User.Identity.AuthenticationType
          • lblEsAutorizado= User.Identity.IsAuthenticated
      Programación ASP.NET
    • 137.
      • EL usuario pide una página
      • IIS pasa la petición a ASP.NET ya que accede en modo anónimo
      • ASP.NET valida si existe un cookie de seguridad
      • Si no hay cookie, reenvia la petición a la página definida para validar las credenciales
      • Mediante código chequea las credenciales y si la cumple genera el cookie
      • Sino es correcta genera un mensaje de acceso denegado
      Programación ASP.NET
    • 138.
      • Configurar IIS para acceso anónimo
      • Establecer la autentificación en el web.config
        • Indicar el formulario que va a validar a los usuarios
        • .name
        • <system.web>
        • <authentication mode=“Forms”>
        • <forms name=“.namesuffix” loginUrl=“login.aspx” />
        • </authentication>
        • </system.web>
      • Establecer la autorización
        • Modificar el fichero web.config igual que en el caso de autorización de windows
      Programación ASP.NET
    • 139.
      • Crear un formulario de Logon
        • Permite Introducir usuario y contraseña
        • Utilizar el objeto FormsAuthentication
        • En el botón de validación utilizar el método RedirectFromLoginPage que reenvía a los usuarios a la url solicitada
        • Una vez validado podemos acceder a la información con el objeto User.Identity
      Programación ASP.NET

    ×