SlideShare una empresa de Scribd logo
1 de 43
ASP.NET
FERNANDO SOLIS
OBJETIVOS
• Introducción a ASP.NET
• Conceptos y Arquitectura
• Características de ASP.NET
• ASP.NET Avanzado
• ASP.NET y el Microsoft®
.Net Framework
CONTENIDO
• Sección 1: Generalidades
• Sección 2: Arquitectura
• El .NET Famework y la configuración de ASP.NET
• Sección 3: Características de ASP.NET
• Administración de estado, Seguridad, y Modelo de
Eventos
• Sección 4: ASP.NET Avanzado
• Web Forms
• Trabajando con Datos
• Migrando ASP a ASP.NET
MIRANDO ATRÁS:
ACTIVE SERVER PAGES
• ¿Que es ASP?
• Tecnología de scripting del lado del servidor
• Archivos conteniendo HTML y código de scripting
• Acceso a través de peticiones HTTP
• El código es interpretado en el servidor
• ¿Que se puede hacer con ASP?
• Creación rápida y fácil de aplicaciones Web simples
• Generar contenido Web dinámico
• Generar código de validación del lado del cliente
• Acceder a componentes COM para extender la funcionalidad
• Bases de datos
¿Y QUÉ HAY DE MALO?
• Mucha “mezcla” de código y HTML de presentación
• El código ASP se interpreta disminuyendo el
rendimiento
• El código de scripting es poco específico
• Microsoft JScript®
• Microsoft Visual Basic® Scripting Edition (VBScript)
• Compatibilidad con los navegadores
• No hay administración real del estado
• No se puede compartir estados en una “granja de servidores”
• El estado se pierde cuando el IE falla
• Sólo se pueden actualizar archivos cuando el servidor
no está en actividad
CONCEPTOS CENTRALES DE
ASP.NET
• Plataforma de desarrollo de Web
• Nuevo modelo de programación
Cliente Web
Sistema Operativo
Aplicaciones
ASP.NET
IIS
.NET Framework
CONCEPTOS CENTRALES DE
ASP.NET
• Separar presentación de lógica del negocio
• Usar servicios provistos por el .NET Framework
• El código es compilado la primera vez que se accede a una página
• Administración de estado
• Utilización de cualquier lenguaje
• Integración entre varios
• ¡Actualizar archivos mientras se está ejecutando la aplicación!
SECCIÓN 2: ARQUITECTURA
• La Arquitectura del .NET Framework
• Modelo de Aplicación Web
• Configuración
• Jerarquía de Clases
EL .NET FRAMEWORK-
ARQUITECTURA
.NET Framework
Servicios del Sistema
Common Language Runtime
ASP.NET
Web Forms Servicios Web
Windows Forms
Marco de Servicios
Base Datos Depuración ...
MODELO DE APLICACIÓN WEB
Código no administrado
Código administrado
...Manejador de Requerimientos
Módulo HTTP
Módulo HTTP
HTTP Runtime
Host (IIS, Internet Explorer)
HTTP Request
HTTP RUNTIME
• Código administrado
• Se ejecuta en un proceso no administrado
• Permite 100% de disponibilidad
• Procesa asincrónicamente todas las llamadas
• Multithreaded
• Reemplaza ISAPI
• Internet Server Application Programming Interface
LÍNEA DE EJECUCIÓN DE UN
MÓDULO HTTP
• Módulo HTTP
• Clases administradas
• Cada módulo implementa una interfaz específica
• Ejemplos: Administración de Estado o Seguridad
• Todas las llamadas se reenvían a la misma línea de ejecución
• Se agregan módulos por el Config.web
• Manejador de requerimientos
• Clases administradas
• Múltiples manejadores para una aplicación
• Pero sólo uno por URL
CONFIGURACIÓN 1/3
• Conceptos y Arquitectura
• Arch. de configuración: Config.web
• Basado en XML, legible y modificable por “humanos”
• El archivo se mantiene en el mismo directorio que la aplicación
• Los cambios se detectan automáticamente
• Arquitectura de configuración jerárquica
• Afecta el subdirectorio actual y todos los dependientes
Root
Dir
Sub
Dir1
Sub
Dir2
Config.web
CONFIGURACIÓN 2/3
• Ejemplo Config.web
<configuration>
<configsections>
<add names=“httpmodules“
type=“System.Web.Config.httpModulesConfigHandler“/>
<add names=“sessionstate“
type=“...“/>
</configsections>
<httpmodules>
<!--- Subelementos de http -->
</httpmodules>
<sessionstate>
<!--- Subelementos de estado de sesión -->
</sessionstate>
</configuration>
CONFIGURACIÓN 3/3
• Configuración por defecto y personalizada
• El Config.web por defecto está en %windir
%Microsoft.NETFrameworkVersion
• Conjunto estándar de configuración
• Capacidades de los navegadores, mensajes de error personalizados, etc.
• Configuración personalizada
• Extiende el conjunto de las estándares
• Implementando la interfaz:
System.Web.Configuration.IConfigurationSectionHandlerSystem.Web.Configuration.IConfigurationSectionHandler
JERARQUÍA
System.Web.UI.
WebControls
ListControl
ListBox
CheckBoxList
Button
Table
WebControl
System.Web.UI.Control
System.Object
TextBox
...
...
SECCIÓN 3: CARACTERÍSTICAS
• Sintaxis y lenguajes soportados por ASP.NET
• Ejemplos
• Proceso de ejecución
• Assemblies
• Administración de Estado, Seguridad, y Manejo de Eventos
PRESENTACIÓN Y LÓGICA DE
NEGOCIOS
• No hay más mezcla entre HTML y código ejecutable
• Mayor facilidad en el mantenimiento
• Separación completa entre la presentación y la lógica
• Sin código en los archivos HTML
• Archivos para diseñadores y Archivos para programadores
• Así y todo, todavía es posible mezclar HTML y código si es
necesario
.aspx
.cs
.vb
o
LENGUAJES SOPORTADOS
• Visual Basic
• ¡VBScript es no administrado!
• JScript
• C#
• Nuevo lenguaje basado en componentes
• C++
• Extensiones administradas para C++
• Otros: Cobol, Smalltalk, ...
• Que respeten el Common Language Specification
(CLS)
INTRODUCCIÓN
• Diferentes archivos, distinguibles por su extensión
• Archivos ASP.NET estándar:
• .aspx o .ascx
• Servicios Web :
• .asmx
• Archivos de código:
• .cs, .vb, ...
• Configuración:
• Config.web
• Aplicaciones Web :
• Global.asax
• Son todos Archivos de texto
• La forma más rápida de comenzar
• Cambiar la extensión .asp por .aspx
SINTAXIS DE LA PÁGINA 1/3
• Directivas
• <%@ Page language=“VB“%>
• Bloques de declaración de código
• <script runat=“server“ [language
= ...]>
[ líneas de código ]
</script>
• Código de conversión (Render)
• <%
[código en línea o expresión]
%>
• Sintaxis de controles HTML
• <HTMLtag runat=“server“ [attribute
= ...]>
</HTMLtag>
SINTAXIS DE LA PÁGINA 2/3
• Sintaxis de Controles
• Controles del Lado del servidor
• <ASP:TextBox id=“MyTb1“ runat=“server“>
• Propiedades del control del servidor
• <ASP:TextBox maxlength=“80“ runat=“server“>
• Sub propiedad (del lado del cliente)
• <ASP:Label font-size=“14“ runat=“server“>
• Vinculación a eventos del control
• <ASP:Button OnClick=“MyClick“
runat=“server“>
SINTAXIS DE LA PÁGINA 3/3
• Expresión de vinculación a datos
• <%# Expresión de vinculación %>
• Marcadores de objetos del lado del servidor
• <object id=“id“ runat=“server“
identifier=“Nombre“>
• Directivas de inclusión en el servidor
• <!-- #include Tipo = Archivo -->
• Comentarios en el servidor
• <%-- Comentario --%>
EJEMPLO ASP.NET 1/2
<html>
<script language=“VB“ runat=server>
Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
Message.Text = “Hi “ & Name.Text
End Sub
</script>
<body>
<form action=“thisfile.aspx“ method=post runat=server>
<h3> Name:
<asp:textbox id=“Name“ runat=server/>
<asp:button type=submit text=“LookUp“
OnClick=“SubmitBtn_Click“ runat=server/>
<p>
<asp:label id=“Message“ runat=server/>
</form>
</body>
</html>
EJEMPLO ASP.NET 2/2
CICLO DE EJECUCIÓN .ASPX
IIS
ASP.NET Runtime
Instancia los
controles
Analiza el .aspx
Genera la clase Page
Pide archivo aspx
Respuesta
Cliente Servidor
PROCESO DE EJECUCIÓN
• Compilación, la primera vez que se pide una
página
• Microsoft intermediate language (MSIL)
• Lenguaje de estilo Assembly
• Independiente de la CPU
• Provee una capa de independencia del hardware
• MSIL es ejecutado por el Motor Común de ejecución
(common language runtime)
• Motor de ejecución común
• Compilador “justo en el momento” (JIT)
• Código administrado
MODELO DE EVENTOS 1/2
• Manejo de eventos a nivel de la Aplicación
• Web Forms
• Modelo de delegados
• Conecta un manejador de evento con un receptor
• Delegados simples y múltiples
• Los Delegados de eventos son “Multicast”
• Enlace de Evento
• Registra un manejador con el que envía el evento
MODELO DE EVENTOS 2/2
• Evento disparado en el cliente, pero controlado
en el servidor
ServerCliente Web
Analiza el mensaje
evento
manejador
mensaje
respuesta
Llama al
manejador
apropiado
EJEMPLOS• Ejemplo
• System.Web.UI.WebControls
Clase Button, evento público Click
• System.Web.UI
Clase Page, evento público Load
• Eventos en C#
ASP.NET
C#
<asp:ImageButton id=btnNext runat=“server“
imageurl=“...“ onclick=“btnNext_Click“/>
protected void btnNext_Click(Object S,
ImageClickEventArgs E)
{
[ ... do something ... ]
}
GENERALIDADES DE WEB
FORMS 1/2
thisfile.aspx
SubmitBtn_Click()
{ ...
thisfile.cs
...
<asp:Button id=“LookUp“
OnClick=„SubmitBtn_Click“ />
...
GENERALIDADES DE WEB
FORMS 2/2
• Crear páginas Web Programables
• Usando cualquier lenguaje .NET
• Provee un rico conjunto de controles del lado del servidor
• Modelo de Eventos de los Web Forms
• Corren en cualquier navegador
• Partes visuales y lógicas de la Aplicación
• System.Web.UI.WebControls
EJEMPLOS WEB FORMS
• thisfile.cs:
• thisfile.aspx:
Protected void SubmitBtn_Click(Object S, EventArgs E)
Message.Text=“Hi “ & Name.Text
End Sub
<%@ Page Language=“C#“ Codebehind=“thisfile.cs“ ... %>
<body>
<form action=“thisfile.aspx“ method=post runat=server>
<h3> Name: <asp:textbox id=“Name“ runat=“server“ />
<asp:button type=submit text=“LookUp“ id=“LookUp“
OnClick=“SubmitBtn_Click“ runat=“server“ />
<br>
<asp:label id=“Message“ runat=“server“ />
</form>
</body>
</html>
CONTROLES DEL SERVIDOR
GENERALIDADES
• Web Forms
• Familias
• HTML
• ASP.NET
• Validación
• Usuario
• Móvil
• Vinculación a Datos
• Clase Page
• Reunión de código y contenido
FAMILIAS 1/2• HTML
• Vinculados directamente con elementos HTML
• Atributos HTML
• Ejemplos: HtmlAnchor (<a>), HtmlTable (<table>)
• ASP.NET
• Controles abstractos
• No hay una relación “uno a uno” con HTML
• Modelo de objetos predefinido
• Detección automática del navegador
• Conjunto rico
• Ejemplo: TextBox (<asp:textbox>)
FAMILIAS 2/2
• Validación
• Controla los ingresos del usuario
• Diferentes tipos
• Ingreso requerido
• Comparación, rango, patrón
• Definidos por el usuario
• Pagelets (Definidos por el usuario)
• Permite reutilizar funcionalidad
• Extensión .ascx
• Soporte a un modelo de objetos
• Controles “Mobile”
SINTAXIS
• Enfocado a ASP.NET
• <asp:Nombre atributos />
• Nombre
• TextBox, DropDownList, etc.
• atributos
• Id=IDdelControl
• runat=server
EJEMPLO DE CONTROL DEL
SERVIDOR
• Controlado.aspx:
• Controlado.cs:
<asp:TextBox id=txtAddress runat=server
MaxLength=255>
<asp:RequiredFieldValidator id=RFV1
runat=server ...>
foreach (Ivalidator val in Page.Validators)
{
val.Validate();
}
CACHÉ
• Mejora el rendimiento de la aplicación Web
• Caché de salida
• Almacena y obtiene páginas y objetos
• Caché de página
• Caché de fragmentos
• Reglas de expiración
• APIs
• Permite personalizar las acciones del Caché
APLICACIONES WEB
• ASP.NET define una aplicación Web como la
“suma de todos los Archivos, páginas, manejadores (de
eventos), módulos, y código ejecutable que pueden ser
invocados o ejecutados en el entorno de un directorio
virtual dado, en un Servidor Web”
• Aplicaciones distribuidas
Internet
Servicio Web
Web Form
Presentación Capa de Negocio Base de
Datos
MIGRACIÓN DE ASP A ASP.NET
• ASP y ASP.NET pueden coexistir en el mismo servidor
• Puede usar características de ASP.NET
• Al migrar, los archivos ASP deben ser modificados
• Rendimiento
• Código administrado vs. no administrado
• Vinculación temprana vs. tardía
TEMAS DE MIGRACIÓN
• Estructura
• Bloques de código y directivas
• Seguridad
• Seguridad ASP.NET como se describió antes
• Lenguajes
• C#, Visual Basic.NET
• Acceso a Datos
• ADO a ADO.NET
RESUMEN
• Elementos importantes de ASP.NET
• Configuración
• Web Forms y Servicios Web
• Seguridad
• Administración de estados
• Acceso a Datos
• Aplicaciones Web
• Migración

Más contenido relacionado

La actualidad más candente

Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitosKleo Jorgee
 
Administración de redes
Administración de redesAdministración de redes
Administración de redesedithua
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patronesMarvin Zumbado
 
Analisis Requerimientos
Analisis RequerimientosAnalisis Requerimientos
Analisis Requerimientosjlchipana
 
Fecha y hora cmd
Fecha y hora cmdFecha y hora cmd
Fecha y hora cmdrubhen123
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Metodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosMetodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosWilliam Diaz S
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Métricas de Calidad del Software.pptx
Métricas de Calidad del Software.pptxMétricas de Calidad del Software.pptx
Métricas de Calidad del Software.pptxEduardo Robayo
 
Ejemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessEjemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessuniv of pamplona
 

La actualidad más candente (20)

Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
Administración de redes
Administración de redesAdministración de redes
Administración de redes
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
cliente servidor
cliente servidorcliente servidor
cliente servidor
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Introduccion a Visual Studio
Introduccion a Visual StudioIntroduccion a Visual Studio
Introduccion a Visual Studio
 
Analisis Requerimientos
Analisis RequerimientosAnalisis Requerimientos
Analisis Requerimientos
 
Fecha y hora cmd
Fecha y hora cmdFecha y hora cmd
Fecha y hora cmd
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Metodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a ObjetosMetodologia para resolver problemas con Programacion orientada a Objetos
Metodologia para resolver problemas con Programacion orientada a Objetos
 
Cubos ppt
Cubos pptCubos ppt
Cubos ppt
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Métricas de Calidad del Software.pptx
Métricas de Calidad del Software.pptxMétricas de Calidad del Software.pptx
Métricas de Calidad del Software.pptx
 
Ejemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con accessEjemplo arquitectura 3 capas con access
Ejemplo arquitectura 3 capas con access
 

Similar a Introducción a ASP.NET

Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETJavier Roig
 
2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.netSandy Contreras
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Antonio Torres
 
Semana 1 tecnologias web
Semana 1   tecnologias webSemana 1   tecnologias web
Semana 1 tecnologias webINFOVIC
 
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-DesarrolloLuis Fernando Aguas Bucheli
 
Aplicaciones web 2
Aplicaciones web 2 Aplicaciones web 2
Aplicaciones web 2 afarneti
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NETwilliamsm
 
Vaadin 8 en BBR Spa
Vaadin 8 en BBR SpaVaadin 8 en BBR Spa
Vaadin 8 en BBR Spadavidsm1979
 
Asp .Net Ajax: Patrones
Asp .Net Ajax: PatronesAsp .Net Ajax: Patrones
Asp .Net Ajax: Patronesjuliocasal
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014Adrian Diaz Cervera
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos Luis Fernando Aguas Bucheli
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetEsteban Soraire
 

Similar a Introducción a ASP.NET (20)

ASP.NET
ASP.NETASP.NET
ASP.NET
 
Aplicaciones Web
Aplicaciones WebAplicaciones Web
Aplicaciones Web
 
Programacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NETProgramacion de aplicaciones Web con ASP.NET
Programacion de aplicaciones Web con ASP.NET
 
2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]
 
Semana 1 tecnologias web
Semana 1   tecnologias webSemana 1   tecnologias web
Semana 1 tecnologias web
 
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
7-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Desarrollo
 
Plantilla ppt
Plantilla pptPlantilla ppt
Plantilla ppt
 
Aplicaciones web 2
Aplicaciones web 2 Aplicaciones web 2
Aplicaciones web 2
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 
Vaadin 8 en BBR Spa
Vaadin 8 en BBR SpaVaadin 8 en BBR Spa
Vaadin 8 en BBR Spa
 
Iniciación Con CakePHP
Iniciación Con CakePHPIniciación Con CakePHP
Iniciación Con CakePHP
 
Asp
AspAsp
Asp
 
Asp .Net Ajax: Patrones
Asp .Net Ajax: PatronesAsp .Net Ajax: Patrones
Asp .Net Ajax: Patrones
 
Clase xi
Clase xiClase xi
Clase xi
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.Net
 

Más de mellcv

INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNINTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNmellcv
 
INTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASINTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASmellcv
 
Eventos
EventosEventos
Eventosmellcv
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESmellcv
 
Arquitectura basada en componentes
Arquitectura basada en componentesArquitectura basada en componentes
Arquitectura basada en componentesmellcv
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesmellcv
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentesmellcv
 
PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVAmellcv
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVAmellcv
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2mellcv
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1mellcv
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOmellcv
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAINSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAmellcv
 
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAmellcv
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosmellcv
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos mellcv
 
Introduccion al lenguage java
Introduccion al lenguage javaIntroduccion al lenguage java
Introduccion al lenguage javamellcv
 

Más de mellcv (20)

INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNINTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
 
INTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASINTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIAS
 
Asp
AspAsp
Asp
 
Eventos
EventosEventos
Eventos
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
 
Arquitectura basada en componentes
Arquitectura basada en componentesArquitectura basada en componentes
Arquitectura basada en componentes
 
Poc 2
Poc 2Poc 2
Poc 2
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Poc
PocPoc
Poc
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentes
 
PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVA
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVA
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESO
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAINSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVA
 
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptos
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos
 
Introduccion al lenguage java
Introduccion al lenguage javaIntroduccion al lenguage java
Introduccion al lenguage java
 

Último

El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 

Último (20)

El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 

Introducción a ASP.NET

  • 2. OBJETIVOS • Introducción a ASP.NET • Conceptos y Arquitectura • Características de ASP.NET • ASP.NET Avanzado • ASP.NET y el Microsoft® .Net Framework
  • 3. CONTENIDO • Sección 1: Generalidades • Sección 2: Arquitectura • El .NET Famework y la configuración de ASP.NET • Sección 3: Características de ASP.NET • Administración de estado, Seguridad, y Modelo de Eventos • Sección 4: ASP.NET Avanzado • Web Forms • Trabajando con Datos • Migrando ASP a ASP.NET
  • 4. MIRANDO ATRÁS: ACTIVE SERVER PAGES • ¿Que es ASP? • Tecnología de scripting del lado del servidor • Archivos conteniendo HTML y código de scripting • Acceso a través de peticiones HTTP • El código es interpretado en el servidor • ¿Que se puede hacer con ASP? • Creación rápida y fácil de aplicaciones Web simples • Generar contenido Web dinámico • Generar código de validación del lado del cliente • Acceder a componentes COM para extender la funcionalidad • Bases de datos
  • 5. ¿Y QUÉ HAY DE MALO? • Mucha “mezcla” de código y HTML de presentación • El código ASP se interpreta disminuyendo el rendimiento • El código de scripting es poco específico • Microsoft JScript® • Microsoft Visual Basic® Scripting Edition (VBScript) • Compatibilidad con los navegadores • No hay administración real del estado • No se puede compartir estados en una “granja de servidores” • El estado se pierde cuando el IE falla • Sólo se pueden actualizar archivos cuando el servidor no está en actividad
  • 6. CONCEPTOS CENTRALES DE ASP.NET • Plataforma de desarrollo de Web • Nuevo modelo de programación Cliente Web Sistema Operativo Aplicaciones ASP.NET IIS .NET Framework
  • 7. CONCEPTOS CENTRALES DE ASP.NET • Separar presentación de lógica del negocio • Usar servicios provistos por el .NET Framework • El código es compilado la primera vez que se accede a una página • Administración de estado • Utilización de cualquier lenguaje • Integración entre varios • ¡Actualizar archivos mientras se está ejecutando la aplicación!
  • 8. SECCIÓN 2: ARQUITECTURA • La Arquitectura del .NET Framework • Modelo de Aplicación Web • Configuración • Jerarquía de Clases
  • 9. EL .NET FRAMEWORK- ARQUITECTURA .NET Framework Servicios del Sistema Common Language Runtime ASP.NET Web Forms Servicios Web Windows Forms Marco de Servicios Base Datos Depuración ...
  • 10. MODELO DE APLICACIÓN WEB Código no administrado Código administrado ...Manejador de Requerimientos Módulo HTTP Módulo HTTP HTTP Runtime Host (IIS, Internet Explorer) HTTP Request
  • 11. HTTP RUNTIME • Código administrado • Se ejecuta en un proceso no administrado • Permite 100% de disponibilidad • Procesa asincrónicamente todas las llamadas • Multithreaded • Reemplaza ISAPI • Internet Server Application Programming Interface
  • 12. LÍNEA DE EJECUCIÓN DE UN MÓDULO HTTP • Módulo HTTP • Clases administradas • Cada módulo implementa una interfaz específica • Ejemplos: Administración de Estado o Seguridad • Todas las llamadas se reenvían a la misma línea de ejecución • Se agregan módulos por el Config.web • Manejador de requerimientos • Clases administradas • Múltiples manejadores para una aplicación • Pero sólo uno por URL
  • 13. CONFIGURACIÓN 1/3 • Conceptos y Arquitectura • Arch. de configuración: Config.web • Basado en XML, legible y modificable por “humanos” • El archivo se mantiene en el mismo directorio que la aplicación • Los cambios se detectan automáticamente • Arquitectura de configuración jerárquica • Afecta el subdirectorio actual y todos los dependientes Root Dir Sub Dir1 Sub Dir2 Config.web
  • 14. CONFIGURACIÓN 2/3 • Ejemplo Config.web <configuration> <configsections> <add names=“httpmodules“ type=“System.Web.Config.httpModulesConfigHandler“/> <add names=“sessionstate“ type=“...“/> </configsections> <httpmodules> <!--- Subelementos de http --> </httpmodules> <sessionstate> <!--- Subelementos de estado de sesión --> </sessionstate> </configuration>
  • 15. CONFIGURACIÓN 3/3 • Configuración por defecto y personalizada • El Config.web por defecto está en %windir %Microsoft.NETFrameworkVersion • Conjunto estándar de configuración • Capacidades de los navegadores, mensajes de error personalizados, etc. • Configuración personalizada • Extiende el conjunto de las estándares • Implementando la interfaz: System.Web.Configuration.IConfigurationSectionHandlerSystem.Web.Configuration.IConfigurationSectionHandler
  • 17. SECCIÓN 3: CARACTERÍSTICAS • Sintaxis y lenguajes soportados por ASP.NET • Ejemplos • Proceso de ejecución • Assemblies • Administración de Estado, Seguridad, y Manejo de Eventos
  • 18. PRESENTACIÓN Y LÓGICA DE NEGOCIOS • No hay más mezcla entre HTML y código ejecutable • Mayor facilidad en el mantenimiento • Separación completa entre la presentación y la lógica • Sin código en los archivos HTML • Archivos para diseñadores y Archivos para programadores • Así y todo, todavía es posible mezclar HTML y código si es necesario .aspx .cs .vb o
  • 19. LENGUAJES SOPORTADOS • Visual Basic • ¡VBScript es no administrado! • JScript • C# • Nuevo lenguaje basado en componentes • C++ • Extensiones administradas para C++ • Otros: Cobol, Smalltalk, ... • Que respeten el Common Language Specification (CLS)
  • 20. INTRODUCCIÓN • Diferentes archivos, distinguibles por su extensión • Archivos ASP.NET estándar: • .aspx o .ascx • Servicios Web : • .asmx • Archivos de código: • .cs, .vb, ... • Configuración: • Config.web • Aplicaciones Web : • Global.asax • Son todos Archivos de texto • La forma más rápida de comenzar • Cambiar la extensión .asp por .aspx
  • 21. SINTAXIS DE LA PÁGINA 1/3 • Directivas • <%@ Page language=“VB“%> • Bloques de declaración de código • <script runat=“server“ [language = ...]> [ líneas de código ] </script> • Código de conversión (Render) • <% [código en línea o expresión] %> • Sintaxis de controles HTML • <HTMLtag runat=“server“ [attribute = ...]> </HTMLtag>
  • 22. SINTAXIS DE LA PÁGINA 2/3 • Sintaxis de Controles • Controles del Lado del servidor • <ASP:TextBox id=“MyTb1“ runat=“server“> • Propiedades del control del servidor • <ASP:TextBox maxlength=“80“ runat=“server“> • Sub propiedad (del lado del cliente) • <ASP:Label font-size=“14“ runat=“server“> • Vinculación a eventos del control • <ASP:Button OnClick=“MyClick“ runat=“server“>
  • 23. SINTAXIS DE LA PÁGINA 3/3 • Expresión de vinculación a datos • <%# Expresión de vinculación %> • Marcadores de objetos del lado del servidor • <object id=“id“ runat=“server“ identifier=“Nombre“> • Directivas de inclusión en el servidor • <!-- #include Tipo = Archivo --> • Comentarios en el servidor • <%-- Comentario --%>
  • 24. EJEMPLO ASP.NET 1/2 <html> <script language=“VB“ runat=server> Sub SubmitBtn_Click(Sender As Object, E As EventArgs) Message.Text = “Hi “ & Name.Text End Sub </script> <body> <form action=“thisfile.aspx“ method=post runat=server> <h3> Name: <asp:textbox id=“Name“ runat=server/> <asp:button type=submit text=“LookUp“ OnClick=“SubmitBtn_Click“ runat=server/> <p> <asp:label id=“Message“ runat=server/> </form> </body> </html>
  • 26. CICLO DE EJECUCIÓN .ASPX IIS ASP.NET Runtime Instancia los controles Analiza el .aspx Genera la clase Page Pide archivo aspx Respuesta Cliente Servidor
  • 27. PROCESO DE EJECUCIÓN • Compilación, la primera vez que se pide una página • Microsoft intermediate language (MSIL) • Lenguaje de estilo Assembly • Independiente de la CPU • Provee una capa de independencia del hardware • MSIL es ejecutado por el Motor Común de ejecución (common language runtime) • Motor de ejecución común • Compilador “justo en el momento” (JIT) • Código administrado
  • 28. MODELO DE EVENTOS 1/2 • Manejo de eventos a nivel de la Aplicación • Web Forms • Modelo de delegados • Conecta un manejador de evento con un receptor • Delegados simples y múltiples • Los Delegados de eventos son “Multicast” • Enlace de Evento • Registra un manejador con el que envía el evento
  • 29. MODELO DE EVENTOS 2/2 • Evento disparado en el cliente, pero controlado en el servidor ServerCliente Web Analiza el mensaje evento manejador mensaje respuesta Llama al manejador apropiado
  • 30. EJEMPLOS• Ejemplo • System.Web.UI.WebControls Clase Button, evento público Click • System.Web.UI Clase Page, evento público Load • Eventos en C# ASP.NET C# <asp:ImageButton id=btnNext runat=“server“ imageurl=“...“ onclick=“btnNext_Click“/> protected void btnNext_Click(Object S, ImageClickEventArgs E) { [ ... do something ... ] }
  • 31. GENERALIDADES DE WEB FORMS 1/2 thisfile.aspx SubmitBtn_Click() { ... thisfile.cs ... <asp:Button id=“LookUp“ OnClick=„SubmitBtn_Click“ /> ...
  • 32. GENERALIDADES DE WEB FORMS 2/2 • Crear páginas Web Programables • Usando cualquier lenguaje .NET • Provee un rico conjunto de controles del lado del servidor • Modelo de Eventos de los Web Forms • Corren en cualquier navegador • Partes visuales y lógicas de la Aplicación • System.Web.UI.WebControls
  • 33. EJEMPLOS WEB FORMS • thisfile.cs: • thisfile.aspx: Protected void SubmitBtn_Click(Object S, EventArgs E) Message.Text=“Hi “ & Name.Text End Sub <%@ Page Language=“C#“ Codebehind=“thisfile.cs“ ... %> <body> <form action=“thisfile.aspx“ method=post runat=server> <h3> Name: <asp:textbox id=“Name“ runat=“server“ /> <asp:button type=submit text=“LookUp“ id=“LookUp“ OnClick=“SubmitBtn_Click“ runat=“server“ /> <br> <asp:label id=“Message“ runat=“server“ /> </form> </body> </html>
  • 34. CONTROLES DEL SERVIDOR GENERALIDADES • Web Forms • Familias • HTML • ASP.NET • Validación • Usuario • Móvil • Vinculación a Datos • Clase Page • Reunión de código y contenido
  • 35. FAMILIAS 1/2• HTML • Vinculados directamente con elementos HTML • Atributos HTML • Ejemplos: HtmlAnchor (<a>), HtmlTable (<table>) • ASP.NET • Controles abstractos • No hay una relación “uno a uno” con HTML • Modelo de objetos predefinido • Detección automática del navegador • Conjunto rico • Ejemplo: TextBox (<asp:textbox>)
  • 36. FAMILIAS 2/2 • Validación • Controla los ingresos del usuario • Diferentes tipos • Ingreso requerido • Comparación, rango, patrón • Definidos por el usuario • Pagelets (Definidos por el usuario) • Permite reutilizar funcionalidad • Extensión .ascx • Soporte a un modelo de objetos • Controles “Mobile”
  • 37. SINTAXIS • Enfocado a ASP.NET • <asp:Nombre atributos /> • Nombre • TextBox, DropDownList, etc. • atributos • Id=IDdelControl • runat=server
  • 38. EJEMPLO DE CONTROL DEL SERVIDOR • Controlado.aspx: • Controlado.cs: <asp:TextBox id=txtAddress runat=server MaxLength=255> <asp:RequiredFieldValidator id=RFV1 runat=server ...> foreach (Ivalidator val in Page.Validators) { val.Validate(); }
  • 39. CACHÉ • Mejora el rendimiento de la aplicación Web • Caché de salida • Almacena y obtiene páginas y objetos • Caché de página • Caché de fragmentos • Reglas de expiración • APIs • Permite personalizar las acciones del Caché
  • 40. APLICACIONES WEB • ASP.NET define una aplicación Web como la “suma de todos los Archivos, páginas, manejadores (de eventos), módulos, y código ejecutable que pueden ser invocados o ejecutados en el entorno de un directorio virtual dado, en un Servidor Web” • Aplicaciones distribuidas Internet Servicio Web Web Form Presentación Capa de Negocio Base de Datos
  • 41. MIGRACIÓN DE ASP A ASP.NET • ASP y ASP.NET pueden coexistir en el mismo servidor • Puede usar características de ASP.NET • Al migrar, los archivos ASP deben ser modificados • Rendimiento • Código administrado vs. no administrado • Vinculación temprana vs. tardía
  • 42. TEMAS DE MIGRACIÓN • Estructura • Bloques de código y directivas • Seguridad • Seguridad ASP.NET como se describió antes • Lenguajes • C#, Visual Basic.NET • Acceso a Datos • ADO a ADO.NET
  • 43. RESUMEN • Elementos importantes de ASP.NET • Configuración • Web Forms y Servicios Web • Seguridad • Administración de estados • Acceso a Datos • Aplicaciones Web • Migración