programación de aplicaciones web con asp.net

139
Visual Studio .NET 2008 ASP .NET Programación ASP.NET 1

Upload: gonzalo-villa

Post on 14-Sep-2015

41 views

Category:

Documents


10 download

DESCRIPTION

una vista rapida

TRANSCRIPT

  • Visual Studio .NET 2008ASP .NET Programacin ASP.NET*

    Programacin ASP.NET

  • 1. Introduccin. El FrameWork de .NET. 2. El entorno de Desarrollo, caractersticas3. Creacin de Formularios Web. 4. Codificacin en Formularios Web. 5. Depuracin de Aplicaciones Web. 6. Validacin de la Entrada de datos. 7. Conceptos bsicos de acceso a datos con ADO.NET8. Servicios Web XML9. Manejo de Estado en las Aplicaciones Web ASP .NET. 10. Configuracin, Optimizacin y Distribucin de Aplicaciones Web ASP .NET. 11. Configuracin de la seguridad de las Aplicaciones Web ASP .NET. Programacin ASP.NET*

    Programacin ASP.NET

  • Introduccin.NET FrameWorkCommond Laguage RuntimeBiblioteca de clasesADO .NETASP .NETUser InterfaceConclusin

    Programacin ASP.NET*

    Programacin ASP.NET

  • DefinicinModelo de programacin consistente para todas las plataformasInteroperabilidad entre tecnologasFcil migracinSoporte HTML, XML, SOAPProgramacin ASP.NET*

    Programacin ASP.NET

  • Servicios comunes para ejecutara aplicaciones .netSimplifica la programacin de objetos COM+, ya no es necesario programar el comportamiento entre aplicaciones..NET Soporta clases, herencia, mtodos, propiedades, eventos, polimorfismo, constructoresCommond Languaje Specification. Base compatible para implementar cdigo con cualquier lenguaje.Visual Studio .NET. Entorno de desarrollo multilinge.

    Programacin ASP.NET*

    Programacin ASP.NET

  • Commond Languaje Runtime (CLR). NET Framework libraryADO .NETASP .NETInterfaz de usuarioProgramacin ASP.NET*

    Programacin ASP.NET

  • DescripcinSimplifica desarrollo por un entorno robustoSoporta mltiples lenguajesProporciona un entorno gestionado (Garbage collection, seguridad)

    Programacin ASP.NET*

    Programacin ASP.NET

  • Class Loader. Carga en memoria y prepara para su ejecucinMSIL (Microsoft Intermediate Languaje). Convierte MSIL a cdigo nativo justa antes de ejecutarCode Manager. Gestiona la ejecucin del cdigoGarbage Collection. Controla el ciclo de vida de todos los objetosSecurity Engine. Permite tener seguridad por el origen del cdigo y por el usuarioDebug Engine. Depurar y realizar trazas del cdigoType Checker. Evita uso incorrecto de variables no inicializadasExcepcion Manager. Estructura de manejo de excepciones.Thread Suport. Programacin multihilo.Com Marshaled. Gestion de comunicacin de objetos com.NET FrameWork Class Library Support.Programacin ASP.NET*

    Programacin ASP.NET

  • Namespace.Organizacin Lgica de tipos y clases base relacionadas.Un namespace puede agrupar otros namespacesSystem. Contienen definicin de las clases fundamentales Sytem.Collections. Ordenacin de listas, agrupacin de datosSystem.IO. Entrada y salidad de datos a ficheros, streams.System.NET. Protocolo TCP/IP y control de socket..... .NET Framework SDK Documentation

    Programacin ASP.NET*

    Programacin ASP.NET

  • Nueva generacin de ActiveX Data ObjectSoporta programacin desconectadaProvee soporte para XMLSystem.Data. Namespace que contiene la clase DataSetSystem.XML Namespace que soporta XML segn la compilacin W3C.System.XML.Xsl, soporta transformaciones.System.XML.Serializacion, contiene la base para los Servicios WebProgramacin ASP.NET*

    Programacin ASP.NET

  • Apartado del framework que permite desarrollar potentes aplicaciones WebElementosASP .Net Web Forms, permite desarrollar interfaces de usuarioASP .NET Web Services, estructura para construir aplicaciones web distribuidasASP .NET Web Services, se basan en protocolos estndar de internet (HTTP, XML,SOAP)System.Web, clases bsicas para el cacheado, seguridad, configuracinSystem.Web.Services, gestiona los servicios webSystem.Web.UI, contiene los controles Html (HTMLControls) y los controles web (WEBControls)Programacin ASP.NET*

    Programacin ASP.NET

  • Evolucin ms flexible de ASPPginas Web Dinmicas que pueden acceder los recursos del ServidorProcesamiento del lado del Servidor de Formulario WebServicios Web XML que permiten crear Aplicaciones Web distribuidasIndependiente del navegadorIndependiente del LenguajeProgramacin ASP.NET*

    Programacin ASP.NET

  • Uso de herencia, constructores, destructores, sobrecarga, polimorfismo permitiendo la potencia de C#Estructura de gestin de excepciones anidadasProgramacin multihilo (multithreading)Garbage Collection, evita que se queden objetos en memoria sin utilizar.Creacin web forms facilmente, programando eventos de los controles como en formularios clientesCreacin de Servicios Web rpidamente a modo de la creacin de componentes de VB 6Programacin ASP.NET*

    Programacin ASP.NET

  • El Entorno de DesarrolloSoporte de mltiples lenguajesEnsamblados y referenciasCompilacin y ejecucinEspacios de Nombre - Namespaces

    Programacin ASP.NET*

    Programacin ASP.NET

  • IDE (Integrated Development Evironment)Elementos de un proyectoUso de las caractersticas del entornoDepuracin de un proyectoCompilacin en .NET

    Programacin ASP.NET*

    Programacin ASP.NET

  • Solo un entorno para todas las herramientas de desarrolloUna solucin puede contener mltiples lenguajesUna solucin puede contener mltiples proyectosPersonalizar el entorno de trabajoVisor de Internet integradoDepuracin de cdigo

    Programacin ASP.NET*

    Programacin ASP.NET

  • Aplicacin Windows, Aplicacin estndarLibrera de Clases, a modo de dll de vb 6Windows Control Library, Controles definidos por el usuario.ASP .NET Web Aplication, aplicacin que se va a ejecutar en un Internet Information Server.ASP. Web Services, aplicacin que va a proveer de servicios XML a aplicaciones clientesWeb Control Library, Controles de usuario para aplicaciones web.Aplicacin de consola, se ejecuta en la lnea de comandosOtras (Servicios Windows, proyectos vacos..)

    Programacin ASP.NET*

    Programacin ASP.NET

  • EditorModo diseoModo EdicinExplorador de solucionesMostrar todos los ficherosAnidar Elementos relacionadosCopiar Sitio Propiedades sitio webAyuda DinmicaPropiedadesLista de TareasPersonalizar elementosExplorador de servidoresCaja HerramientasData, Web Forms, Components, HTMLProgramacin ASP.NET*

    Programacin ASP.NET

  • Facilita la anotacin de temas pendientes Mostrar la ventanaVer Lista de TareasCTRL + , + TCrear tareas directamente en la lista Se muestran en la seccin Tareas de usuarioCrear tareas mediante comentarios en el cdigo Se muestran en la seccin comentariosTODO texto de pruebaEditar la lista de palabras claves desde: Herramientas Opciones (Activar la casilla) Mostrar todas las configuraciones Entorno Lista de TareasPulsando doble clic sobre la tarea va a la posicin del cdigo asociadaProgramacin ASP.NET*

    Programacin ASP.NET

  • EspecificacionesCrear un nuevo proyectoCrear la interfazEscribir el cdigoCompilar el proyectoTestar y depurarDistribuir / implantar el proyecto

    Programacin ASP.NET*

    Programacin ASP.NET

  • Carpeta para la solucin (.sln) Utilizando localhostCarpeta para los archivos web dentro de inetpub\wwwroot.vbproj, .aspx, web.config, global.asax. Asmx .ascxCarpeta para el ensamblado inetpub\wwwroot\proyecto\bin.dllUtilizando sistema de archivosCarpeta para los archivos web dentro de la ruta del sitio.vbproj, .aspx, web.config, global.asax .asmx .ascxCarpeta para el ensamblado ruta del sitio\proyecto\bin.dll

    Programacin ASP.NET*

    Programacin ASP.NET

  • Desde el explorador de solucionesBin .dll App_Browsers .browserApp_Code .cs, .vb, .xsdApp_Data .mdb, .mdf, .xmlApp_GlobalResources .resxApp_LocalResources .resxApp_Themes .skin, .css, .xslApp_WebReferences .wsdl

    Programacin ASP.NET*

    Programacin ASP.NET

  • Establecer puntos de rupturaPropiedadesVentanas DepuracinVariables localesResultado de la compilacinVentana de InspeccinPilaPuntos de RupturaVentana de ComandoCmd, immedProgramacin ASP.NET*

    Programacin ASP.NET

  • Ensamblados (.dll , .exe y ficheros auxiliares).Net FrameWork tiene ensamblado predefinidosSe crean automticamente cuando se construye un proyectoReferencias a elementos externos del proyecto..NETCOMProyectosMen Proyecto Agregar ReferenciaBotn derecho en el proyecto Agregar ReferenciaProgramacin ASP.NET*

    Programacin ASP.NET

  • Programacin ASP.NET*Compilacin automticaProceso mejorado ASP NET 2.0Eliminacin pre compilacin en el IDEProveedores de construccin personalizadosCompilacin dinmica en dos pasosAnalizar sintcticamente los archivosCompilarlosPrecompilacin sobre la marcha

    Programacin ASP.NET

  • Organizacin lgica de objetos relacionadosCrea Nombres perfectamente identificados para los objetosEvita ambigedadEvita conflicto con nombres entre clasesUso de Import facilita la lectura del proyectoImports MiProyecto.Superior.EnSuperior....Dim y as New Interior()Se puede acceder a cualquier elemento en un ensamblado mediante su nombre cualificado

    Programacin ASP.NET*

    Programacin ASP.NET

  • Qu es un web FormCrear ASPActualizar Html -> ASPTipos de controles Servidor_VIEWSTATEControles HTMLControles WEBControles PersonalizadosProgramacin ASP.NET*

    Programacin ASP.NET

  • Combinacin de cdigo HTML + controles que se ejecutan en el servidorDiferencia con ASP tradicionalExtensin .aspxPueden coexistir con pginas .asp o .htmlFicheros .aspx.vb /.aspx.cs contienen el cdigo asociadoProgramacin ASP.NET*

    Programacin ASP.NET

  • Tres niveles de atributosPage, Definen funciones globales

    Cdigo, gestin de eventos del formulario LayOut, presentacin de los datosBody, Como se va a mostrar la pgina< body>....

    Form, como se procesan grupos de control< form id=Form1 method post runat=server>....

    Programacin ASP.NET*

    Programacin ASP.NET

  • LanguajeLenguaje en el que est escritaVb, c#, jscripCodeFileQu pgina contiene el cdigoInheritsClase con la que va a trabajarAutoEventWireupSi hay que especifiacar los procedimientos para los eventos o los toma dependiendo del nombre del procedimientosProgramacin ASP.NET*

    Programacin ASP.NET

  • Cdigo para ejecutar eventos del cliente el evento se ejecuta en el servidorSe recomienda programar los eventos de servidor en el fichero de cdigo asociado para diferenciarlo del cdigo que va a interpretar el navegadorProgramacin ASP.NET*

    Programacin ASP.NET

  • No tiene que ver con el concepto de formularioPuedes tener varios .. en una web pero solo uno que se ejecute en el lado servidorMethod, como se envian los valores al servidorPost, datos se envian en parejas nombre/valor dentro de la peticion httpGet, datos se pasan como un estringRunat,identifica si se devuelve informacin al servidorRunat=server, envia la informacin al servidorNo tiene, se ejecuta como un formulario HTMLProgramacin ASP.NET*

    Programacin ASP.NET

  • Nueva Sitio WebCrea por defecto Default.aspxAadir un nuevo formularioMediante la opcin aadir nuevo elementoActualizar un formulario existente htmlRenombrando el archivo a .aspx

    Programacin ASP.NET*

    Programacin ASP.NET

  • HTML server controlsAadir runat=server para tratarlo en el modo servidorWeb server controlsIntegrados, equivalentes a los controles HTMLValidacin, testar los datos introducidosEnriquecidos, funcionalidad avanzadaEnlazados a datosControles Web, presentacin de datos en navegadoresProgramacin ASP.NET*

    Programacin ASP.NET

  • Acceso desde el lado de servidorLas propiedades son todas tipo String, por lo que solo se detecta los errores cuando se ejecutaEsta dentro de una etiqueta Interesa cuando utilizan funciones de javaPermite actualizar rpidamente una pgina html con nuevas funcionalidades

    Programacin ASP.NET*

    Programacin ASP.NET

  • Creados para ASP.NETNo tienen funcionalidad si no tienen una etiqueta runat=serverPropiedades son tipadas, permite detectar errores antes de compilarNamespace System.Web.UI.WebControlsProgramacin ASP.NET*

    Programacin ASP.NET

  • Cada vez que se pide una pgina se construye la pgina y todos sus controles y se destruye despus de que se envi al navegador para aumentar la capacidad del servidorSoluciona 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 seccin Contiene un string de pares nombre-valor, con los nombres de cada control y el ltimo valorCada peticin se actualiza el controlHabilitar viewState a nivel de @Page o a nivel de control

    Programacin ASP.NET*

    Programacin ASP.NET

  • Creacin en tiempo de DiseoDesde la barra de herramientas de controlesCreacin del cdigo HTML de forma directaPosicionamiento Absoluto o relativoHerramientas Opciones Diseador HTML Posicin CSSPostBack Hay controles que automticamente generan un postback (button)Otros controles (textbox) no lo tienen y sus eventos se disparan cuando uno que si lo tiene se ejecutaSe puede modificar el comportamiento modificando la propiedad AutoPostBack a True del controlProgramacin ASP.NET*

    Programacin ASP.NET

  • Programacin ASP.NET*

    Control de servidorEquivalente HTMLFuncinCrea un botn que envia una peticin al servidorCasilla de verificacin Hiperenlace a una etiqueta HTMLCrea un rea para mostrar una imagenBotn con imagen en vez de textoNo tieneBotn con apariencia de hiperenlace Texto que no puede modificar el usuarioLista de elementos de seleccin mltiple

    Programacin ASP.NET

  • Programacin ASP.NET*

    Control de servidorEquivalente HTMLFuncinPanel contenedor de controlesBotn de radio Crea una tablaCuadro de textoNo tieneTexto

    Programacin ASP.NET

  • Programacin ASP.NET*

    ControlFuncinCompareValidatorLa entrada tiene que coincidir con otra entradaCustomValidationLa entrada tiene que cumplir un criterioRangeValidatorLa entrada tiene que estar en un rangoRegularExpressionValidatorTiene que cumplir un patrnRequiredFieldValidatorUsuario tiene que entrar un valor antes de que se procese el controlValidationSummaryRecoge todos los mensajes de error de los controles de validacin para mostrarlos centralizados

    Programacin ASP.NET

  • Programacin ASP.NET*

    ControlFuncinAdRotatorSecuencia de imgenes, aleatorias o noCalendarMuestra un calendario

    Programacin ASP.NET

  • Programacin ASP.NET*

    ControlFuncinCheckBoxListColumna de valores en formato checkboxRepeaterMuestra informacin de un dataset utilizando un conjunto de controles HTML, se repite para cada valor del datasetDataListSimilar al repeater pero en formato listaDataGridMuestra la informacin de un dataset en columnasDropDownListMuestra los datos en un desplegableListBoxMuestra los datos en una ventanaRadioButtonListMuestra una columna de botones de opcinGridViewVersin avanzada del Data grid

    Programacin ASP.NET

  • Label, Muestra informacin que se puede modificar desde el cdigo del servidorPara texto fijo mejor utilizar el control literal de HTMLUtilizar la propiedad text para escribir el valorTextBoxMuestra y recoge informacin del usuarioPropiedad text contiene el texto del textboxTextMode, Formato del cuadro de textoSingleLine, Multiline, PasswordColumns, Rows, mximo ancho y largo del cuadro de textoMaxLength, nmero de caracteres mximo

    Programacin ASP.NET*

    Programacin ASP.NET

  • ButtonBoton que genera un postback al servidorTipo submit (por defecto), solo genera un postback al servidorTipo command, indicar el nombre de la accin en la propiedad commandName. Se gestiona con el evento commandPropiedad CausesValidation, por defecto true, hace que se valide el formularioCheckBoxPermite seleccionar entre cierto y falsoChecked indica su estadoText, el literal que muestraEvento CheckedChange se ejecuta cuando hay un cambio en la propiedad check.Autopostback por defecto es false

    Programacin ASP.NET*

    Programacin ASP.NET

  • RadioButton Seleccionar opciones de forma exclusiva en un grupoGroupName, todos los que tengan el mismo valor se validan juntosText, contiene el ttuloChecked, indica si est activo o no

    Programacin ASP.NET*

    Programacin ASP.NET

  • Trabajar con imgenes

    Controles Asp.netImageMuestra una imagen en la webImageurl, indica la direccin de la imagenAlternateText, texto que muestra si no se carga la imagn, y en el texto de ayudaGenerarteEmptyAlternateText, indica si queremos que se genere texto alternativo de forma automticaNo tiene evento ClickProgramacin ASP.NET*

    Programacin ASP.NET

  • ImageButtonMuestra una imagen que si que tiene evento ClickImageUrl, direccin de la imagenEventos Click y command iguales al del botonImageMapcontrolSimilar al imagebutton pero puedes definir un rea para que sea clickeableImageUrl, es la imagen a mostrarHotSpotArea, comportamiento cuando se pincha en un rea de la imagenPostBack, generar un postback al servidor pudiendo pasar un texto como parmetroInactive, no hace nadaProgramacin ASP.NET*

    Programacin ASP.NET

  • TableMuestra una tabla que se puede modificar en tiempo de ejecucin aadiendo TableRow y TableCellHay que redibujar el control cada vez que sucede un postbackCalendarPresenta un calendario, donde el usuario puede seleccionar fechasSelectionChanged genera un postbackEvento DayRender, poner texto cuando se cambia de daVisibleDate, mes que se quiere mostrarSelectionMode, como queremos seleccionar la informacin del controlFileUploadMuestra los controles para subir un archivo a internetHay que programar si queremos guardar el ficheroNo genera un postback, por lo que hay que utilizar otro controlHasFile, indica si es un fichero lo que se ha selccionadoSaveAs, metodo para guardar el fichero

    Programacin ASP.NET*

    Programacin ASP.NET

  • Web.SiteMapXML con la representacin del sitio webSiteMapPathRepresenta web.sitemapSiteMapDataSourceEnlaza con el XML y permite utilizarlo con otros controlesStartingNodeOffsetTreeViewRepresentacin de un SiteMapDataSourceFormado por TreeNodePermite colapsarse o expandirseMenuRepresentacin de un SiteMapDataSourceFormado por MenuItemPermite programar eventos servidor o redireccin a pginas

    Programacin ASP.NET*

    Programacin ASP.NET

  • ListBox, lista de datosUtiliza la coleccin Items que contiene todos los elementosCada uno tiene la propiedad Text que es lo que muestra y Value que es lo que devuelve al servidorSe enlaza a un DataSource y a un DataMemberSelectedIndex, SelectedItem, SelectedValue es la forma de acceder al elemento seleccionadoDropDownListSimilar al listBox, pero solo muestra los valores cuando se despliega la listaProgramacin ASP.NET*

    Programacin ASP.NET

  • CheckBoxListSimilar al listbox donde se puede hacer la seleccin marcando las casillasRepeatDirection y RepeatColumns son propiedades para indicar como rellenar el control con los valoresSelected, indica si el item est seleccionadoRadioButtonListSimilar al chekboxList pero solo se puede seleccionar una opcinProgramacin ASP.NET*

    Programacin ASP.NET

  • AdRotatorMuestra una lista de imgenes de forma aleatoriaObtiene la informacin de una base de datos o de un fichero xmlImageUrl, direccin de la imagenNavigateURL, la direccin donde se va al pulsarImpressions, frecuencia con la que se muestraHeight, altura de cada anuncioWidt, anchura de los anunciosRecomendable dejar las imgenes dentro de la carpeta App_DataProgramacin ASP.NET*

    Programacin ASP.NET

  • Simplifica la reutilizacin de cdigo y componentes del entorno de usuario.Es un fichero .ascxSe compilan la primera vez que se llaman y se almacenan en la cach de ensambladosTienen que estar integrados en un formulario, no puede contener etiquetas , ,Tiene cdigo asociado, se identifica en el apartado @control en vez de @Page

    Se puede escribir en distinto lenguaje que el formularioProgramacin ASP.NET*

    Programacin ASP.NET

  • Creacin a partir de Visual Studio .NETLas pginas interactan con el control mediante propiedadesRecomendable el uso de flow layoutAadir los elementos de la interfaz de usuarioAadir los procedimientos que interacten con el Webform que lo albergueProgramacin ASP.NET*

    Programacin ASP.NET

  • Quitar las etiquetas , ,Si existe la directiva @page, sustituirla por una @controlRenombrar la pgina de .aspx a .ascxEn la clase indicar inherits=System.web.UI.UserControlCrear las propiedades ya que el webform no puede comunicarse directamente con los controles que forman el control de usuario

    Programacin ASP.NET*

    Programacin ASP.NET

  • Se situa en un web form igual que cualquier otro control@register, se utiliza para incluirlo en un formularioTagPrefix, identifica un espacio de nombres, permite tener varios controles sin conflictoTagName, nombre nico para cada controlSrc, identifica el controlNo podemos utilizar posicionamiento absoluto con DHTML, si lo queremos hacer tenemos que ponerlo dentro de un panel

    Programacin ASP.NET*

    Programacin ASP.NET

  • Definir las propiedades del control, haciendo referencia a los controles internos

    Public Property pnum() as integerGetReturn cint(txtnum.text)End GetSet (byval value as Integer)Txtnum.text =value.tostring()End SetEnd PropertyUso de las propiedades del control, desde el WebForm que lo contieneProtected Num1 as CajaNumeroLblsum.text=Num1.Nnum.ToString()Num1.Pnum=5Programacin ASP.NET*

    Programacin ASP.NET

  • DefinicinPgina Maestra estructura heredablePgina Contenido personalizas cada pgina BeneficiosSitio web con entorno consistenteAhorro de tiempo de programacinPodemos tener varias pginas maestras en un proyectoAadir una pgina MaestraAadir desde Explorador de Soluciones un nuevo archivo index.MasterAadir una pgina de ContenidoAadir desde el explorador de soluciones un nuevo archivo del tipo Web.Form activando la casilla Seleccionar pgina maestra

    Programacin ASP.NET*

    Programacin ASP.NET

  • Pginas de cdigo-behindEventos en Controles Web ServerEventos de PginaConcepto de PostBackEjemplos de cdigoProgramacin ASP.NET*

    Programacin ASP.NET

  • En el mismo fichero, entre el HTMLDifcil, seguir el cdigoUtiliza en ASPPueden utilizar varios idiomasEn el mismo fichero, en una seccin aparteSeparado en una seccin SCRIPT

    Sub btn_click(s As Object, e As EventArgs)_ Handles btn.Click....End Sub

    En un fichero separadoEn la pgina de cdigo asociadoCada fichero slo puede contener un idiomaProgramacin ASP.NET*

    Programacin ASP.NET

  • Accin que responde a una actuacin del usuario con un control de la pginaTipo de evento por rea de ejecucinEventos de servidorEventos de cliente Ejemplo de eventoPulsar un botn SubmitProgramacin ASP.NET*

    Programacin ASP.NET

  • Se ejecuta en el equipo cliente, no se enva informacin al servidorSolo para controles HTMLEjecutan inmediatamenteEventos tipo onChange y mouse KeysSintaxis

    Programacin ASP.NET*

    Programacin ASP.NET

  • Se ejecuta en el equipo servidor, la peticin se enva al servidor para su procesoLos procedimientos de evento es cdigo compilado que est en el servidorSirve para controles HTML y WebSoporta un nmero menor de eventos, por la demora del envo de la informacinAlgunos OnChangeNO soporta MouseKeysSintaxisProgramacin ASP.NET*

    Programacin ASP.NET

  • Acceso a los eventosAl hacer doble clic sobre un control, se crea un evento con el mismo Id que el controlSeleccionar el evento de la listaSeleccionar el botn eventos en las propiedades del controlArgumentosEl objeto que enva el evento (sender)Una instancia del evento (e)Tipo EventArgs, sin informacion adicionalImgenes ImageClickEventArgs, informacin de coordenadasUtilizar Ctype para convertir sender Programacin ASP.NET*

    Programacin ASP.NET

  • AutoEventWireupSi hay que especificar los procedimientos para los eventos o los toma dependiendo del nombre del procedimientosGestionar varios controles con HANDLEDProcedimientos de eventos personalizados AddHandlerAddressOfProgramacin ASP.NET*

    Programacin ASP.NET

  • Orden de generacin de los eventosPage_initPage_LoadEventos de ControlPage_UnloadHay eventos de control que no se ejecutan hasta que el Web Form se enva al servidor (Change)PostBack, envo de informacin al servidorSe puede forzar si el control tiene la propiedad AutoPostBack=trueProgramacin ASP.NET*

    Programacin ASP.NET

  • El evento Page_Load se ejecuta cada llamadaPropiedad page.isPostBack, determina si ya se ha enviado al servidorIf not Page.IsPostBack then Ejecuta solo la primera vezEnd IfIf (!Page.IsPostBack){//ejecuta la primera carga}Programacin ASP.NET*

    Programacin ASP.NET

  • Acceso a los controles de una pgina webObjeto MeColeccin de controlesEscribir informacinAsignar la informacin segn el tipo control.propiedad=valorLeer informacinAlmacenar la informacin en una variableUtilizacin en una funcinVariable=control.propiedadIf control.propiedad then..Programacin ASP.NET*

    Programacin ASP.NET

  • Asignar la imagen en tiempo de ejecucinPropiedad imgUrlObjeto Application.MapPathIdentificar la ruta a partir de la raiz ~ (alt 126)Crear imgenes de distinto tamao en tiempo de ejecucinClase BitmapGestiona mapa de bitsPermite Guardar en formato bmp, jpg, gif, png con mtodo saveGetThumbnailImageProgramacin ASP.NET*

    Programacin ASP.NET

  • Colecciones de elementosPropiedad itemsEscribir informacinMtodo ADD de la propiedad itemsAsignar a un origen de datosLeer informacinElemento SeleccionadoRecorrer la coleccin itemsProgramacin ASP.NET*

    Programacin ASP.NET

  • Crear mens en tiempo de ejecucinCrear el nodo o el elementoAadir el nodo al men o al rbolPropiedad Items y ChildItems en los mensPropiedad Nodes en losTreeviewLeer informacinRecorrer el men/rbol mediante los nodosResponder al EventoPropiedades SelectedNode, SelectedMenuItem

    Programacin ASP.NET*

    Programacin ASP.NET

  • PropiedadesSe definen en el fichero de cdigo adjuntoEspecificar el apartado Get y SetEscribir informacinEjecuta el cdigo del apartado SetDesde la pgina se utiliza control.propiedad=valorLeer informacinEjecuta el cdigo del apartado GetDesde la pgina se utiliza Variable=control.propiedadEventosSe programan en el control de usuarioProgramacin ASP.NET*

    Programacin ASP.NET

  • Desde la pgina MaestraTrabajar como una pgina normalSe ejecutan en el cdigo de master.vbDesde las pginas de ContenidoPersonalizar la ejecucin del evento segn la pginaGestionar el evento de un controlHacer accesible el control con una propiedad master.vbGestionar el evento desde la content aspx.vbGestionar con eventos personalizados genricosCrear un evento personalizadoLanzar desde la master el nuevo evento master.vbConsumir el evento desde la content aspx.vb

    Programacin ASP.NET*

    Programacin ASP.NET

  • Informacin en tiempo de ejecucinActivar la TrazaUtilizar el objeto TRACEUso de Traza a nivel de AplicacinPgina de Error PersonalizadaProgramacin ASP.NET*

    Programacin ASP.NET

  • Activar modo depuracinDe forma automticaMediante la herramienta de configuracinAadiendo debug=true en web.configEstablecer puntos de rupturaPausar el cdigo al ejecutar la sentencia marcadaSe puede establecer condiciones Ventanas DepuracinVariables localesVentana de InspeccinPuntos de RupturaProgramacin ASP.NET*

    Programacin ASP.NET

  • Volcar informacin mediante objetos Debug y TraceTipos de informacinMostrar valores de variablesDeterminar cuando se cumple una condicin con Trace.WriteifSeguir el proceso de ejecucinLas sentencias Trace no se muestra sino se activa en web.config o en la cabecera @pageNo es necesario quitar o comentar todo el cdigoEl objeto Debug solo se muestra cuando se ejecuta en modo depuracinProgramacin ASP.NET*

    Programacin ASP.NET

  • A nivel de pgina, solo muestra informacin de traza en la pgina en la que se activa

    Se aade la informacin de traza al final de la pginaTodos las sentencias Trace.Write sern visiblesSi se activa la traza a nivel de aplicacin, tambin se muestra la informacin de pgina

    Programacin ASP.NET*

    Programacin ASP.NET

  • Trace.Write y Trace.Warn son iguales salvo que Warn muestra el mensaje en rojo.Muestran mensajes en la trazaSintaxisTrace.Write(Categoria,Mensaje)Categora, sirve para agrupar los mensajesEjemploTrace.Write(Mi traza, Empieza el cdigo de usuario)

    Trace.IsEnabledindica si la traza est activaSe puede modificar en tiempo de ejecucinTrace.IsEnabled=False Desactiva la trazaProgramacin ASP.NET*

    Programacin ASP.NET

  • Muestra la informacin al final de la pginaDivide la informacinInformacin de la solicitudInformacin de Seguimiento, datos tanto estndar como los generados por el objeto TRACErbol de Control, los elementos y su tamaoEstado de la sesin, variables de sesinEstado de la aplicacin, variables globalesLista de Cookies, lista de cookies utilizadas en metodos recuestLista de Cookies de respuesta, lias de cookies en mtodos responseColeccin de encabezados, informacin de la cabecera HTMLColeccin de formularios, valores devueltos al servidorColeccin de cadenas de respuesta,valore sen querystringVariables de servidor, las variables del servidorProgramacin ASP.NET*

    Programacin ASP.NET

  • Aplica la traza a todas las pginas del proyectoMen Sitio Web Configuracin ASP .NET Aplicacin Depuracin y Seguimiento Capturar informacin de seguimientoModificar el fichero web.config

    Relacin con el atributo trace de @page. Si est activo en @page, se muestra siempreSi no est definido se muestra siempreSi est a false no se muestra la trazaMostrar seguimiento.. (PageOutPut), indica si se muestra la informacin en la pgina o si se almacena en memoriaCuando est en memoria ejecutar \\servidor\proyecto\trace.axdMostrar resultado para.. (LocalOnly), solo se muestra la traza en la mquina local. No se puede acceder desde otra mquina

    Programacin ASP.NET*

    Programacin ASP.NET

  • Redirigir el error ha una pgina amigable para el usuarioSe define en el web.config Directamente editando el ficheroDesde la herramienta de configuracin de la aplicacinPodemos utilizar cualquier pgina del proyectoAtributosCustomErrorPage la pgina a mostrarLocalOnly si se ven los errores en local o no

    Programacin ASP.NET*

    Programacin ASP.NET

  • Utilidad de los controles de validacinTipos de controlesPropiedades comunesControl personalizadoPage.IsValidProgramacin ASP.NET*

    Programacin ASP.NET

  • Verifican que los datos son vlidos o que se han introducido todos los valores necesariosEvitan Datos incorrectos antes de que se procesen en el servidorSpoofing, sustitucin de cdigo HTML en el cliente, mediante la verificacin de los datos en los dos lados cliente/servidorCdigo malicioso, provocar desbordamiento del servidor con cadenas de texto muy largas y SQLInyection mediante los input boxVerificacin en el lado cliente y servidorCliente, comprueba cuando se pulsa un botn submit, si no se cumple no enva la informacin al servidorServidor, se vuelve a validar la informacin

    Programacin ASP.NET*

    Programacin ASP.NET

  • CompareValidator, compara el contenido de ese control con el de otro control del mismo WebForm. Type indica el tipo de datos a compararOperator, tipo de comparacionCustomValidator, cdigo de comprobacin personalizadoRangeValidator, Comprueba que el valor esta dentro de un rango. Type indica el tipo de datos a validarHay que indicar MinimunValue, MaximumValueRegularExpressionValidator, el contenido tiene que cumplir un formato determinadowww.regular-expressions.infoRequiredFieldValidator, Obliga a introducir un valor en el campo, se puede usar junto con los otros controlesValidationSummary, resumen de los errores de los controles de validacin de la pginaProgramacin ASP.NET*

    Programacin ASP.NET

  • Todos los controles de validacin menos el ValidationSummary tienen propiedades especificas comunesControltovalidate, control de la pgina a validarEnableClientScript, validar los datos en el clienteErrorMenssage, 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 ErrorMenssageDisplay, comportamiento de los controles en el caso de FlowLayoutStatic, reserva espacio para las etiquetas aunque no se muestrenDynamic, no reserva espacio, cuando se muestra el error, se ajusta el formularioNone, no muestra erroresProgramacin ASP.NET*

    Programacin ASP.NET

  • Se ejecuta en el lado del cliente y servidorPermite programar cdigo Propiedades propiasClienteValidationFunction, nombre del script que se ejecuta en el clienteOnServerValidate, nombre del que se ejecuta en el servidorProgramacin ASP.NET*

    Programacin ASP.NET

  • Propiedad del objeto Page que es true si todos los controles de validacin son correctosCuando se ejecuta se muestra el control ValidationSummary si es el casoIf Page.IsValid thenlblResultado=CorrectoEnd IfProgramacin ASP.NET*

    Programacin ASP.NET

  • PresentacinControles EnlazadosDataBindingProgramacin ASP.NET*

    Programacin ASP.NET

  • Modelo ASP 2.0 vs ASP 1.1Nuevos controlesMs ligerosMs fciles de utilizarMenos cdigo para obtener los mismos resultadosDataBindig Enlazar controles a un origen de datosSimple, enlaza un control a un campo del origen de datos.Compleja, enlazar un control a varios campos de un origen de datosApp_DataCarpeta por defecto para establecer los orgenes de datosPuede contener Access (mdb), SQL Express (mdf), XMl

    Programacin ASP.NET*

    Programacin ASP.NET

  • TiposEspecficos para enlazar a origen de datos GridViewGenerales, se pueden enlazar aunque con limitaciones TextBoxMixtos, permiten trabajar con un origen de datos o independientes ListBoxControles de Acceso a datos, no son visibles pero permiten enlazar a otros controles SQLDataADapterCadenas de conexinGenera automticamente en funcin del origen de datosMuestra por defecto el contenido de App_DataPermite guardarlas en web.configDataSource vs DataSourceidDataSourceId, indica el control de origen de datos, en cambio Datasource indica el objeto de origen de datos

    Programacin ASP.NET*

    Programacin ASP.NET

  • SqlDataSourceEnlaza con un origen de datos SQL (no solo SQL Server)Especificar base de datos, consulta/ tabla, filtros, ordenacionAcessDataSourceEnlaza con bases de datos AccessIgual que el anterior pero ms limitadoObjectDataSourceEnlaza con objetos de negocio definidos en una claseSeleccionar el objeto y los mtodos a utilizarXmlDataSourceEnlaza con un origen de datos XMLEspecificar archivo, el archivo de transformacin (si es necesario) y xPath para indicar el tipo de nodo a mostrarSiteMapDataSourceEnlaza con web.sitemp para crear la estructura de navegacin del sitio

    Programacin ASP.NET*

    Programacin ASP.NET

  • ListBox, DropDownList, CheckBoxList, RadioButtonList, BulletedListPermiten trabajar enlazados a datos o de forma independienteTienen propiedades comunes para el enlace a datosDataSourceId, identificador del control origen de datos de donde van a cargar la informacinDataValueField, nombre del campo con el que se rellena la propiedad value de cada itemDataTextField, nombre del campo con el que se rellena la propiedad textDataMemeber, en el caso de que el origen de datos tenga varios conjuntos de resultados, indicar el que se va a utilizar

    Programacin ASP.NET*

    Programacin ASP.NET

  • RepeaterMuestra informacin de cada registro del origen de datos en una filaHay que especificar los campos que se quieren mostrar desde la ventana de cdigo DataListMuestra la informacin de cada registro del origen de datos en una fila del controlPermite indicar que campos queremos mostrar mediante plantillasEs la versin avanzada de Repeater

    Programacin ASP.NET*

    Programacin ASP.NET

  • GridViewMuestra informacin en formato tablaEsta formado por una coleccin de GridViewRow (Filas) y DatacontrolField (Columnas) que dan lugar a DataControlFieldCell (Celdas)Cada Fila contiene una coleccin de celdas (cell)Formato se puede dar mediante el asistenteDetailsViewMuestra nicamente un registro de un origen de datosPermite navegar por los registros con la propiedad AllowPagingSe utiliza junto a Gridview para crear formularios maestro/detalleFormViewSimilar a Details View, pero con ms funcionalidadPermite la edicin de plantillas para los distintos modos, seleccin, edicin e insercin

    Programacin ASP.NET*

    Programacin ASP.NET

  • Enlazar controles a un origen de datosPropiedad DataSource, identifica el origen de datos puede ser un dataSet, Propiedad DataSouerceID, indica el control origen de datos que est vinculado a los datosPropiedad DataMember, dentro de un origen de datos con mltiples tablas puede especificar la tabla o la vista que queramos asociarPropiedad DataKey, el campo clave del control cuando se selecciona un elemento del mismoMetodo DataBind, actualiza los datos que recibe a travs de la propiedad DataSource. Programacin ASP.NET*

    Programacin ASP.NET

  • PresentacinIntegracin con DataSet de ADOXMLDataDocumentXMlDataTransformControl Web XMLServicios Web

    Programacin ASP.NET*

    Programacin ASP.NET

  • Mtodo uniforme de intercambiar datos entre ordenadoresEstn definidos tanto los datos como la estructuraLa estructura es independiente de los datos y se puede ampliar en cualquier momentoConcepto de XML Bien FormadoXML Vlido si el vocabulario cumple con el formato del esquemaXSD, Schema Definition Language, norma recomendada por W3C para validar XMLProgramacin ASP.NET*

    Programacin ASP.NET

  • XSD, estndar de definicin de lenguajesXSLT, Extensible Stylesheet Transformation, lenguaje para transformar ficheros XMlXPath, Lenguaje para recorrer elementos de un XML mediante un rbol de nodosDOM, Document Object Model, es una representacin en memoria de un XMl que se puede navegar por l mediante nodosXQuery, permite extraer e interpretar informacin XMLProgramacin ASP.NET*

    Programacin ASP.NET

  • Estndar 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

    Programacin ASP.NET*

    Programacin ASP.NET

  • Cargar informacin en un dataset desde un fichero xmlReadXML, lee los datos y el esquema y lo pasa a un data setLee desde un objeto xmlReader (string, filestring)Dim xmlFilename As String = "XmlDocument.xml" 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("New DataSet") ds.ReadXml(xmlReader) Programacin ASP.NET*

    Programacin ASP.NET

  • Exportar el contenido de un data set a un fichero XMLWriteXML, escribe los datos y el esquema a un objeto stream, string, TextWriter, xmlWriterxmlWriter, escribe sobre un fichero XMLDim ds As DataSetDim writer As new XmlWriter (Server.MapPath(export.Xml))ds.WriteXml(writer) Programacin ASP.NET*

    Programacin ASP.NET

  • Metodos de DataSetReadXmlSchema,Leer el esquema de un data set de un fichero XML. No los datosWriteXmlSchema,Escribir el esquema en un fichero, no los datosDim ds As DataSetDim writer As XmlWriterds.WriteXmlSchema(writer) Programacin ASP.NET*

    Programacin ASP.NET

  • Muy ligado a los DataSet, permite manipular los datos directamente o a travs del dataSetPermite navegar mediante nodosPodemos utilizar como elemento para la trasformacin de XML con xmlTransformLoad, cargar la informacin directamente del documentoXMLDataDocument doc = new XmlDataDocument;Doc.Load(server.MapPath(file.xml));ReadXML, carga el documento en un datasetDim doc as XmlDataDocument = new XmlDataDocument() doc.DataSet.ReadXML(Server.MapPath("store.xml))

    Programacin ASP.NET*

    Programacin ASP.NET

  • El DataSet del objeto es la representacin en ADO de la estructura del XMLAsignar a un control el origen de datosDg.DataSource = xmlDoc.DataSetExtraer informacinDim elem as XmlelementElem= xmlDoc.getElementFromRow(ds.Tables(0).rows(1))Programacin ASP.NET*

    Programacin ASP.NET

  • Permite escribir un fichero XML o mostrar informacin XML en el WebFormLa informacin se muestra donde est ubicado el controlCrear un controlLlevndolo desde la barra de controlesEscribiendo Programacin ASP.NET*

    Programacin ASP.NET

  • Cargar datos al controlPropiedad DocumentSource, indicando la ruta del xmlEn el evento Page_Load, asignar la ruta a la propiedad Document.Introducir el texto entre la etiquetas < >TransformSource, permite asignar un fichero de esquema controlCrear un objeto XML y asignarlo a un controlProgramacin ASP.NET*

    Programacin ASP.NET

  • Similar a los componentes de programacinLenguaje independiente que el del web formIndependiente de la plataforma de desarrollo.Basado en estandares de W3CSe utiliza para compartir elementos de programacin entre aplicaciones.Programacin ASP.NET*

    Programacin ASP.NET

  • Universal Description, Discovery and Integration (UDDI) protocol www.uddi.org, uddi.microsoft.com Especificaciones para ubicar servicios web a travs de internetFicheros descubrimiento .disco .vsdisco, contienen la informacin de donde encontrar servicios. Se crean automticamente cuando se programa el servicioFicheros de descripcin .wsdl, tiene las especificaciones del servicio webProgramacin ASP.NET*

    Programacin ASP.NET

  • Acceder a la pgina web del servicio.WsdlHelpGenerator.aspxSeleccionar el servicio de la listaRellenar los parmetros si es caso y clicar en InvocarEl servicio devuelve la informacin en XMLProgramacin ASP.NET*

    Programacin ASP.NET

  • Aadir la referencia Web al proyectoCrear un objeto a partir de la referenciaDim ws as new prueba.localhost.servicio1

    Utilizar los mtodos del servicio web a travs del objeto Lbltitulo.text=ws.escribirHolaMundoProgramacin ASP.NET*

    Programacin ASP.NET

  • Crear un proyecto utilizando la plantilla Servicio Web.Archivo .asmx@web Service, el nombre del archivoLanguaje, en que est escritoCodebehaind page, cdigo del archivoClass, la clase del servicioEl cdigo se escribe igual salvo que se pone delante de la funcin que queremos compartir, La descripcin del servicio webProgramacin ASP.NET*

    Programacin ASP.NET

  • Introduccin al estado de las aplicacionesGlobal AsaxCookiesProgramacin ASP.NET*

    Programacin ASP.NET

  • Cada pgina se destruye en cada peticin, necesario un sistema para mantener la informacin globalmenteLado del servidorApplication, la informacin es accesible para todos los usuariosSession, la informacin solo es accesible para un usuario en concretoSQL, almacenar la informacin en una base de datosObjeto Cach, guarda la informacin a nivel de aplicacinLado del clienteCookies, fichero de texto en el equipo del clientePropiedad, ViewState, automticamente retine los valoresQuery String, se aade la informacin a la URLProgramacin ASP.NET*

    Programacin ASP.NET

  • Todas las aplicaciones tienen un global.asaxSe almacena en el directorio virtual de la aplicacinGestiona eventos de inicio y fin de aplicacin y de sesinEs opcionalProgramacin ASP.NET*

    Programacin ASP.NET

  • Eventos ms usualesApplcation_Start, cuando se inicia la aplicacinApplication_End, cuando se finalizaSession_Start, cuando inicia un usuarioSession_End, cuando Finaliza un usuarioApplication_Error, Cuando se da un error que no ha sido canalizadoInicializacin de VariablesObjeto Application, comparte informacin para toda la aplicacinObjeto Sessin, solo sobre el usuarioSe define la variable identificando el objeto y el nombre que queremos darleSession(Fondo)=beigeApplication[numeroVisitas]=0;

    Programacin ASP.NET*

    Programacin ASP.NET

  • Establecer valor a la variableSession(Fondo)=beigeBloqueos, evitar concurrenciaApplication.LockApplication.UnlockApplication.LockApplication[NumeroVisitas]+=1(int)Application[NumeroVisitas]=(int)Application[NumeroVisitas]+1;Application.UnlockLeer las variables, asignar el valor a un objeto o controlFondoControl=Session(Fondo)lblNVisitas.text=Application[NumeroVisitas].to string

    Programacin ASP.NET*

    Programacin ASP.NET

  • Almacena automticamente el estado de los controles de la pginaSe puede desactivar desde la directiva @page ViewState=FalseAlmacena la informacin en objetos StateBag que se pasa como control oculto en las peticiones httpPodemos utilizarlo para almacenar informacin entre pginasSe puede cifrar con viewStateEncryptionMode =Always

    Programacin ASP.NET*

    Public Property Indice() As Integer Get Dim o As Object = ViewState("Indice") If (IsNothing(o)) Then Return -1 Else Return CStr(o) End If End Get Set(ByVal value As Integer) ViewState("Indice") = value End Set End Propertypublic int Indice { get { object o = ViewState[Indice"]; return (o == null)?-1 :(int)o; } Set { ViewState[Indice"] = value; } }

    Programacin ASP.NET

  • Crear cookiesCon la propiedad Cookie de los objetos Response y RequestGeneran un objeto HttpCookiecollectionCookies TemporalesSe crea el objeto pero no se guarda en disco. Se borra cuando acaba el tiempo de sesion o cuando se cierra el navegadorCookies PermanentesSe guardan en discoProgramacin ASP.NET*

    Programacin ASP.NET

  • Crear un cookieDim objCookie as new httpCookie(miCookie)Dim now as datetime=dateTime.NowAadir elementos y asignar valoresobjCookie.Values.Add(hora, now. To string)objCookie.Values.Add(Fondo,green)Establecer tiempo de expiracin PersistenteobjCookie.Expires=now.addHours(1)Aadimos el cookie a la coleccin Response.cookies.add(objCookie)

    Programacin ASP.NET*

    Programacin ASP.NET

  • Primero leer el cookieDim objCK as httpCookie=Request.Cookies(myCookie)httpCookie objCK=Request.cookies[myCookie];Segundo leer el par clave valorlblTime.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]);

    Programacin ASP.NET*

    Programacin ASP.NET

  • Objeto CachOutPut CacheImplantacin del proyecto

    Programacin ASP.NET*

    Programacin ASP.NET

  • Cada aplicacin tiene un objetoPermite almacenar elementos en memoria la primera vez que se utilizan y a partir de ese momento volver a utilizarlosEl objeto Cache no contiene informacin solo la referencia al objeto y sus dependenciasPodemos usarlo para pasar valores entre pginas de la aplicacin ya que permite almacenar variables a nivel de aplicacinTiene bloqueos incorporados para el uso de los objetosSe eliminan automticamente los objetos de la cach, junto con sus dependencias

    Programacin ASP.NET*

    Programacin ASP.NET

  • Crear una variable de forma implicitaCache(mivariable)=valorCache[mivariable]=valor;Crear variables de forma explicita con Insert y parmetrosCache.Insert(miVariable,valor, Dependency, AbsoluteExpiration, SlidingExpiration, CacheItemRemoveCallBack)Utilizar la variableLblvalor.text=cache(mivariable)Lblvalor.text=cache[mivariable];

    Programacin ASP.NET*

    Programacin ASP.NET

  • Cuando se queda sin memoria se eliminan de forma automtica los objetos ms viejosAbsoluteExpiration, propiedad datetieme en la que expira el objeto de la cachCache.insert(mivariable,valor,Nothing,Datetime.Now.AddMinutes(5),nothing)SlidingExpiration, propiedad timeSpan tiempo que expira en funcin del ltimo accesoCache.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 dependenciasCache.Insert(miVariable,valor,new CacheDependency(mydoc.xml)CachItemPriority, los que tengan ms prioridad son los ltimos en eliminarse en caso de que tenga poca memoriaCache.Insert(miVariable,valor,null,null,CacheItemPriority.High, onremove);Programacin ASP.NET*

    Programacin ASP.NET

  • Mejorar rendimiento cacheando una pgina o partes de una pginaTipos de Output CachePgina, almacena todo un web formParcial, almacenar controles estticos de una pgina como controles de usuarioEn el fichero .ascxWeb Services, almacena el resultado del web service sin volver a llamarlo[WebMethod(cacheDuratio:=300)]

    Programacin ASP.NET*

    Programacin ASP.NET

  • Compilacin DinmicaPrecompilacinCopiar los archivos al servidor webNo NecesariosArchivos de solucin (.vbproj)Archivos de recursos .resx, ya estn compilados en las dllPginas de cdigo .vb, ya estn compiladosNecesarios\bin y su contenidoWeb Form, Controles de Usuario y Servicios Web(.aspx,.asmx.ascx)Ficheros de configuracinArchivos complementarios (imgenes, xml)Identificar en el IIS el proyecto como aplicacinPermisos para Network ServiceNo es necesario registrar el contenido de /binPoner el sitio fuera de linea con APP_OFFLINE.HTM

    Programacin ASP.NET*

    Programacin ASP.NET

  • IntroduccinAutenticacin - AutorizacinSeguridad integrada IISSeguridad Forms

    Programacin ASP.NET*

    Programacin ASP.NET

  • Establecer diferentes sistemas para asegurar las aplicaciones webSistema complementario a la seguridad de la base de datosIIS permite establecer distintos niveles de seguridad de forma automticaEstablecer la comunicacin con SSL para asegurar la transmisin de los datosProgramacin ASP.NET*

    Programacin ASP.NET

  • AutentificacinAutentificarse, identificarse en el sistema Validarse contra el sistemaAutorizacinProceso posterior a la autenticacinVerificar el nivel de acceso a un recurso en concreto

    Programacin ASP.NET*

    Programacin ASP.NET

  • Basada en WindowsUtiliza la seguridad de IISUtil para intranets ya que utiliza la estructura de windowsNo es muy til para la mayora de aplicaciones webBasada en FormulariosCodificar manualmente la validacinSi es correcta el sistema enva un cookie al usuariotil para cualquier aplicacinSoporta todo tipo de clientesProblemtico por usar cookiesMicrosoft PassportServicio Web de MicrosoftUna sola validacin para multiples aplicacionesTiene costeUtiliza cookiesProgramacin ASP.NET*

    Programacin ASP.NET

  • Niveles Autentificacion IISAnnimo, no hay autentificacinBsicaSe enva usuario y contrasea en modo textoSe puede encriptar con SSLTextoSe enva la informacin codificadaRequiere Directorio ActivoIntegradaUtiliza KerberosBueno para intrantet, malo para internetProblemas con cortafuegosProgramacin ASP.NET*

    Programacin ASP.NET

  • Configurar la seguridad en el IISDesde la consola de administracin escoger el nivel de seguridadBsicaTextoIntegradaEstablecer la autentificacin en Web.Config

    Programacin ASP.NET*

    Programacin ASP.NET

  • Establecer la autorizacin en Web.ConfigEstablecer una seccin que indique que pginas son las que hay que autorizarSe pueden establecer varias secciones Se puede indicar una carpeta o una pgina

    Deny user, niega el acceso a un usuario en concreto?, a acceso annimo* todos los accesosAllow User, permite a un usuario en concretoProgramacin ASP.NET*

    Programacin ASP.NET

  • Ejecutar el cdigo con usuario predeterminado usando la clave

    IIS pide la informacin de registro al usuarioCuando se accede a una pgina con seguridad se muestra automticamente la ventana de validacin del usuario y contrasea. Si es correcta la validacin se reenva automticamente a la pgina solicitadaProgramacin ASP.NET*

    Programacin ASP.NET

  • Despus de autentificarse se puede acceder a la informacin con el objeto User.IdentityUser.Identity.NameUser.Identity.AuthenticationTypeUser.Identity.IsAuthenticatedLblnombre.text=User.Identity.NamelblTipo.text=User.Identity.AuthenticationTypelblEsAutorizado= User.Identity.IsAuthenticated

    Programacin ASP.NET*

    Programacin ASP.NET

  • EL usuario pide una pginaIIS pasa la peticin a ASP.NET ya que accede en modo annimoASP.NET valida si existe un cookie de seguridad Si no hay cookie, reenvia la peticin a la pgina definida para validar las credencialesMediante cdigo chequea las credenciales y si la cumple genera el cookieSino es correcta genera un mensaje de acceso denegadoProgramacin ASP.NET*

    Programacin ASP.NET

  • Configurar IIS para acceso annimoEstablecer la autentificacin en el web.configIndicar el formulario que va a validar a los usuarios.nameEstablecer la autorizacinModificar el fichero web.config igual que en el caso de autorizacin de windowsProgramacin ASP.NET*

    Programacin ASP.NET

  • Crear un formulario de LogonPermite Introducir usuario y contraseaUtilizar el objeto FormsAuthenticationEn el botn de validacin utilizar el mtodo RedirectFromLoginPage que reenva a los usuarios a la url solicitadaUna vez validado podemos acceder a la informacin con el objeto User.IdentityProgramacin ASP.NET*

    Programacin ASP.NET

    Ver 4.0 Sep 09*Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Introduccin. El FrameWork de .NET. Conceptos bsicos de qu es el Framework, componentes y principales usosEl entorno de Desarrollo, caractersticas Descripcin del entorno.Trabajar con Soluciones multiproyectoCreacin de Formularios Web. Conceptos implicados en el desarrollo de pginas web con Visual Studio.NET. (CodeBehind, Postback)Creacin de pginas web bsicas. Creacin de pginas web maestrasRevisin de los principales controles de pginas webCodificacin en Formularios Web. Completar la funcionalidad de las pginas con cdigo en Visual Basic .NET o C#.NETGestin de Eventos .Archivos de configuracin (web.config)Depuracin de Aplicaciones Web. Trazas de cdigo para deteccin de errores. Comportamiento de Objetos Trace y DebugValidacin de la Entrada de datos. Revisin de conceptos de validacin de datos. Controles de validacinConceptos bsicos 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 WSDLCreacin y Utilizacin de servicios web Manejo y optimizacin de Estado en las Aplicaciones Web ASP .NET. Objeto Session. Objeto Aplicacin. Objeto CachConfiguracin, Distribucin de Aplicaciones Web ASP .NET. Publicacin precompilada. Publicacin en modo depuracin. Herramientas de publicacinConfiguracin de la seguridad de las Aplicaciones Web ASP .NET. Conceptos bsicos de seguridad. Seguridad a nivel de servidor. Seguridad a nivel de aplicacin

    Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Modelo de programacin consistente para todas las plataformasLos diferentes lenguajes de programacin 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 tecnologasAl compartir el mismo entorno y las mismas estructuras podemos tener en el mismo proyecto diferentes lenguajes cohabitando sin problemas

    Fcil migracinPermite desde versiones anteriores de ASP .NET crear proyectos manteniendo una copia del anterior

    Soporte HTML, xML, SOAPMantiene compatibilidad con leguajes y protocolos abiertos en internet. No utiliza una tecnologa propietaria

    Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Commond Languaje RuntimeLenguaje mquina comn para todos los lenguajes de programacin. Se evita que cada lenguaje tenga el suyo con depuradores y compiladores distintos que al final generan un rendimiento distinto. NET Framework libraryConjunto de libreras que contienen la informacin necesaria para que se puedan ejecutar aplicaciones .net.Son de libre distribucin Actualmente vamos por la versin 3.0, aunque a nivel de desarrollo se utiliza la versin 2.0ADO .NETActiveX Data Object, es la tecnologa que se utiliza para trabajar contra bases de datos o con ficheros que funcionen a modo de bases de datosASP .NETTecnologa que se utiliza para procesar las pginas webInterfaz de usuarioLibrera de elementos necesarios para interactuar con la aplicacin

    Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Todas los lenguajes de programacin y las distintas tecnologas (ASP .NET, Web Forms, Windows Forms) acaban generando un mismo lenguaje base que cada ordenador interpreta para su ejecucinEsto hace que el desarrollo sea mucho ms sencillo y robusto ya que no tenemos un lenguaje base segn el tipo de desarrollo.Por otro lado ofrece un conjunto de elementos comunes que se utiliza de forma automtica en todos los desarrollosProgramacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09*Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09*Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09BIN Contiene cualquier estructura pre construida que sea requerida por la aplicacinApp_Browsers Contiene los archivos de definicin del navegador especficos de la aplicacin que utiliza ASP.NET para identificar los navegadores individuales y determinar sus capacidadesApp_Code Contiene los archivos fuente de las clases a compilar conmo una parte de la aplicacin. ASP.NET compila el cdigo en la carpeta cuando las pginas se solicitan. El cdigo en la carpeta se referencia automticamente en las aplicacionesApp_Data Contienen los archivos de Access, Sql express, Xml u otros tipos de almacenamientoApp_GlobalResources Contiene los archivos de recursos que se utilizan programticamente en la ubicacin de la aplicacinApp_LocalResources Contiene los archivos de recursos de las pginasApp_Themes Contiene una coleccin de archivos que definen la apariencia de las pginas y controles ASP .NETApp_WebReferences Contiene archivos WSDL para generar las clases Proxy y otros archivos asociados con la utilizacin de los servicios Web en su aplicacinProgramacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Los archivos se compilan automticamente desde que se hace la primera solicitud por parte de la aplicacinCualquier cambio en la fuente de un archivo invalida la compilacin y se vuelve a crearNo es necesaria pre compilar un proyecto web desde el entorno de desarrollo antes de su publicacinSe pueden crear proveedores de construccin personalizado, ampliando el proceso de compilacinCompilacin dinmica en dos pasosAnalizar sintcticamente 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 personalizadosCompilarlos en una estructura ejecutablePrecompilacin sobre la marcha, prepara todas las estructuras para que todos los usuarios que accedan al sitio web no tengan retrasos de compilacin aspnet_compiler

    Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Objetivo de estos controles es facilitar la navegacin por el sitio web a los usuariosWeb.sitemap. Archivo XML que contiene la descripcin del sitio webMapa del sito web formado por nodos SiteMapNode, con los atributos principales titulo y url.Proveedor por defecto del tipo System.Web.XmlSiteMapProviderPodemos tener varios archivos en funcin del rol del usuario del sitio o del idioma de visualizacinControl SiteMapPathMuestra la informacin del archivo web.sitemap, en funcin de la pgina donde estemosCurrentNodeStyle, NodeStyle, RootNodeStyle formato de representacin de la informacinPathDirection, PathSeparator Direccin de la informacin y separador entre los nodosControl SiteMapDataSourceTraduce el esquema de los archivos siteMap para poder utilizarlo en otros controlesPropiedad StartingNodeOffset Podemos definir el nodo inicial a representar en funcin del nodo que se visite Control TreeViewFormado por elementos TreeNode que pueden tener a su vez hijosPodemos definir el comportamiento para cerrarse (colapsarse) o abrirse (expandirse)Propiedades de estilo, Propiedades visuales, Propiedades de comportamientoControl MenuFormado por MenuItem, representa la informacin de un SiteMapDataSourcePuede hacer una peticin al servidor o puede redirigirse a otra pginaProgramacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09Programacin ASP .NET*Ver 4.0 Sep 09Programacin ASP .NETVer 4.0 Sep 09DefinicinPgina Maestra Contiene una estructura heredable por las pginas de contenido, definiendo el tamao de cada rea, los controles comunes y textos generales para todas las pginas de contenido que se creen a partir de la maestra. La etiqueta indica donde va a ir la informacin en las pginas de contenido El encabezado contiene la directiva