SlideShare una empresa de Scribd logo
1 de 50
ASP.NET
José Luis Clemente montes
Lima – PERÚ
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
Sección 1: Generalidades
 “Mirando atrás ...“
 Conceptos centrales de 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
Administración de estados
1/2
 Estado de una Aplicación
 Que es una “aplicación”?
 Archivos, páginas, módulos, y código ejecutable
 Un subdirectorio virtual y sus dependientes
 Variables de estado de la Aplicación
 Información global
 Reglas de Implementación
 Utilización de recursos del sistema
 Bloqueo y desbloqueo de la información global
 En entornos de múltiples hilos (“multithreaded”) se
debe tener cuidado
 Se pierde el estado cuando el cliente se cierra
 No hay estado a través de una Granja de servidores
Administración de estado 2/2
 Estado de sesión
 ¿Que es una sesión?
 Restringida a una aplicación lógica
 Contexto en el cual un cliente se conecta con un servidor
 Funcionalidad
 Solicitud de identificación y calificación
 Almacenar Datos entre llamadas
 Eventos de Sesión
 Liberación de los datos de Sesión
 Proceso de estado en el Servidor .NET
Seguridad 1/3
 Motivos
 Prevenir el acceso a áreas del Servidor Web
 Registrar y almacenar información relevante de los
usuarios
 Configuración de Seguridad
 Tag <Security> en el archivo Config.web
 Autenticación, Autorización, Impersonalización
 Seguridad de acceso al código
 ¿es éste realmente el código original del servidor?
 Proteger el servidor de “código malicioso”
Seguridad 2/3
 Autenticación
 Validar credenciales del usuario
 Utilizar identidades de autenticación
 Tipos de Autenticación
 Windows, integrada con IE 5.0
 Passport, servicios centralizados provistos por Microsoft
 Cookie, adjunto en el requerimiento
 Autorización
 Determinar cuando es permitido un requerimiento
 Autorización por Archivo y por URL
Seguridad 3/3
 Impersonalización
 IE autentica al “usuario”
 Se pasa un “token” a la aplicación ASP.NET
 ASP.NET lo impersona
 El acceso se permite de acuerdo a las
asignaciones por NTFS
 Seguridad de Acceso al código
 Característica del .NET Famework
 Verifica la identidad del código y su origen
 Especifica las operaciones que el código
tiene permitido ejecutar
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 ... ]
}
Sección 4:
ASP.NET Avanzado
 Web Forms
 Controles del Servidor
 Trabajando con Datos
 Aplicaciones Web
 Migrando de ASP a ASP.NET
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

Presentacion sobre asp
Presentacion sobre aspPresentacion sobre asp
Presentacion sobre aspkarenReyes152
 
Asp .net
Asp .netAsp .net
Asp .netmellcv
 
2009_asp.net_capitulo_1
2009_asp.net_capitulo_12009_asp.net_capitulo_1
2009_asp.net_capitulo_1zhylz Zevallos
 
Asp.net conceptos
Asp.net conceptosAsp.net conceptos
Asp.net conceptosXstremsX
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Oscar Gensollen
 
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4Rodolfo Finochietti
 
2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.netSandy Contreras
 
Examen febrero 2017-2018_daw_daw_solucion_ (1)
Examen febrero 2017-2018_daw_daw_solucion_ (1)Examen febrero 2017-2018_daw_daw_solucion_ (1)
Examen febrero 2017-2018_daw_daw_solucion_ (1)jomadega1
 
ASP .NET MVC: Desarrollo web con el patrón MVC
ASP .NET MVC: Desarrollo web con el patrón MVCASP .NET MVC: Desarrollo web con el patrón MVC
ASP .NET MVC: Desarrollo web con el patrón MVCriojadotnet
 
3. Crear Formularios Web Forms
3.  Crear Formularios Web Forms3.  Crear Formularios Web Forms
3. Crear Formularios Web Formsguest3cf6ff
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajaxjuliocasal
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)wildtango
 

La actualidad más candente (19)

Presentacion sobre asp
Presentacion sobre aspPresentacion sobre asp
Presentacion sobre asp
 
1. Introduccion A Asp .Net
1.  Introduccion A Asp .Net1.  Introduccion A Asp .Net
1. Introduccion A Asp .Net
 
Asp .net
Asp .netAsp .net
Asp .net
 
Ejercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICKEjercicio basico en asp.net LOZADA ERICK
Ejercicio basico en asp.net LOZADA ERICK
 
2009_asp.net_capitulo_1
2009_asp.net_capitulo_12009_asp.net_capitulo_1
2009_asp.net_capitulo_1
 
Asp.net conceptos
Asp.net conceptosAsp.net conceptos
Asp.net conceptos
 
Asp.net 4
Asp.net 4Asp.net 4
Asp.net 4
 
Dce2 ejercicios asp.net
Dce2 ejercicios asp.netDce2 ejercicios asp.net
Dce2 ejercicios asp.net
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
 
Tutorial ASP .NET
Tutorial ASP .NETTutorial ASP .NET
Tutorial ASP .NET
 
Asp.net
Asp.netAsp.net
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
 
Examen febrero 2017-2018_daw_daw_solucion_ (1)
Examen febrero 2017-2018_daw_daw_solucion_ (1)Examen febrero 2017-2018_daw_daw_solucion_ (1)
Examen febrero 2017-2018_daw_daw_solucion_ (1)
 
ASP .NET MVC: Desarrollo web con el patrón MVC
ASP .NET MVC: Desarrollo web con el patrón MVCASP .NET MVC: Desarrollo web con el patrón MVC
ASP .NET MVC: Desarrollo web con el patrón MVC
 
3. Crear Formularios Web Forms
3.  Crear Formularios Web Forms3.  Crear Formularios Web Forms
3. Crear Formularios Web Forms
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)
 

Destacado

Flexibreaks Noches de hotel gratis 91 489 32 47
Flexibreaks Noches de hotel gratis  91 489 32 47Flexibreaks Noches de hotel gratis  91 489 32 47
Flexibreaks Noches de hotel gratis 91 489 32 47Bonoicentivo
 
Corempresa Nº 12
Corempresa Nº 12Corempresa Nº 12
Corempresa Nº 12corempresa
 
Guia turiistica mazatlan
Guia turiistica mazatlanGuia turiistica mazatlan
Guia turiistica mazatlanVivi Osorio
 
Identidad Digital - Santi Casas
Identidad Digital - Santi CasasIdentidad Digital - Santi Casas
Identidad Digital - Santi CasasSanti Casas
 
caso integrador robotica
caso integrador roboticacaso integrador robotica
caso integrador roboticaamamilas
 
Business Opportunity with Crestcom
Business Opportunity with CrestcomBusiness Opportunity with Crestcom
Business Opportunity with CrestcomDave_Strathmann
 
Pd736(e) user manual(en) 2014 0224
Pd736(e) user manual(en) 2014 0224Pd736(e) user manual(en) 2014 0224
Pd736(e) user manual(en) 2014 0224Ilton Prandi
 
Conocimiento 2.0. Hacia un modelo reencantado del conocimiento en (la socieda...
Conocimiento 2.0. Hacia un modelo reencantado del conocimiento en (la socieda...Conocimiento 2.0. Hacia un modelo reencantado del conocimiento en (la socieda...
Conocimiento 2.0. Hacia un modelo reencantado del conocimiento en (la socieda...Joan Mayans
 
Leccion 29: LA ORACION COMO PETICION
Leccion 29: LA ORACION COMO PETICION Leccion 29: LA ORACION COMO PETICION
Leccion 29: LA ORACION COMO PETICION BETO MOO
 
Nexesoraciócomposta
NexesoraciócompostaNexesoraciócomposta
Nexesoraciócompostadomenecamgand
 
Lb0431 b prostop
Lb0431 b   prostopLb0431 b   prostop
Lb0431 b prostopdrnaula
 
Enterprise Risk Management & Cybersecurity: Is Your Health Plan Ready?
Enterprise Risk Management & Cybersecurity: Is Your Health Plan Ready?Enterprise Risk Management & Cybersecurity: Is Your Health Plan Ready?
Enterprise Risk Management & Cybersecurity: Is Your Health Plan Ready?Epstein Becker Green
 
Saki, The Lumber Room, Milena Y Jose
Saki, The Lumber Room, Milena Y JoseSaki, The Lumber Room, Milena Y Jose
Saki, The Lumber Room, Milena Y Joseicampo
 
Web Design Trends 2015 & 2016
Web Design Trends 2015 & 2016Web Design Trends 2015 & 2016
Web Design Trends 2015 & 2016Lewis Lin 🦊
 
The Future of Air Travel, One Airline Seat at a Time
The Future of Air Travel, One Airline Seat at a TimeThe Future of Air Travel, One Airline Seat at a Time
The Future of Air Travel, One Airline Seat at a TimeLinkedIn Editors' Picks
 

Destacado (20)

7 Deadly Sins in Your PPC Account & How to FIX Them
7 Deadly Sins in Your PPC Account & How to FIX Them7 Deadly Sins in Your PPC Account & How to FIX Them
7 Deadly Sins in Your PPC Account & How to FIX Them
 
Flexibreaks Noches de hotel gratis 91 489 32 47
Flexibreaks Noches de hotel gratis  91 489 32 47Flexibreaks Noches de hotel gratis  91 489 32 47
Flexibreaks Noches de hotel gratis 91 489 32 47
 
Corempresa Nº 12
Corempresa Nº 12Corempresa Nº 12
Corempresa Nº 12
 
Guia turiistica mazatlan
Guia turiistica mazatlanGuia turiistica mazatlan
Guia turiistica mazatlan
 
MRC International Training
MRC International TrainingMRC International Training
MRC International Training
 
Identidad Digital - Santi Casas
Identidad Digital - Santi CasasIdentidad Digital - Santi Casas
Identidad Digital - Santi Casas
 
caso integrador robotica
caso integrador roboticacaso integrador robotica
caso integrador robotica
 
Business Opportunity with Crestcom
Business Opportunity with CrestcomBusiness Opportunity with Crestcom
Business Opportunity with Crestcom
 
Ict and ir bb syllabus
Ict and ir bb syllabusIct and ir bb syllabus
Ict and ir bb syllabus
 
Email Awards 2010- Banco Hipotecario
Email Awards 2010- Banco Hipotecario Email Awards 2010- Banco Hipotecario
Email Awards 2010- Banco Hipotecario
 
Pd736(e) user manual(en) 2014 0224
Pd736(e) user manual(en) 2014 0224Pd736(e) user manual(en) 2014 0224
Pd736(e) user manual(en) 2014 0224
 
Conocimiento 2.0. Hacia un modelo reencantado del conocimiento en (la socieda...
Conocimiento 2.0. Hacia un modelo reencantado del conocimiento en (la socieda...Conocimiento 2.0. Hacia un modelo reencantado del conocimiento en (la socieda...
Conocimiento 2.0. Hacia un modelo reencantado del conocimiento en (la socieda...
 
Flower Lover Catalogue 2012
Flower Lover Catalogue 2012Flower Lover Catalogue 2012
Flower Lover Catalogue 2012
 
Leccion 29: LA ORACION COMO PETICION
Leccion 29: LA ORACION COMO PETICION Leccion 29: LA ORACION COMO PETICION
Leccion 29: LA ORACION COMO PETICION
 
Nexesoraciócomposta
NexesoraciócompostaNexesoraciócomposta
Nexesoraciócomposta
 
Lb0431 b prostop
Lb0431 b   prostopLb0431 b   prostop
Lb0431 b prostop
 
Enterprise Risk Management & Cybersecurity: Is Your Health Plan Ready?
Enterprise Risk Management & Cybersecurity: Is Your Health Plan Ready?Enterprise Risk Management & Cybersecurity: Is Your Health Plan Ready?
Enterprise Risk Management & Cybersecurity: Is Your Health Plan Ready?
 
Saki, The Lumber Room, Milena Y Jose
Saki, The Lumber Room, Milena Y JoseSaki, The Lumber Room, Milena Y Jose
Saki, The Lumber Room, Milena Y Jose
 
Web Design Trends 2015 & 2016
Web Design Trends 2015 & 2016Web Design Trends 2015 & 2016
Web Design Trends 2015 & 2016
 
The Future of Air Travel, One Airline Seat at a Time
The Future of Air Travel, One Airline Seat at a TimeThe Future of Air Travel, One Airline Seat at a Time
The Future of Air Travel, One Airline Seat at a Time
 

Similar a ASP.NET

Asp .Net Ajax: Patrones
Asp .Net Ajax: PatronesAsp .Net Ajax: Patrones
Asp .Net Ajax: Patronesjuliocasal
 
Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Marvin Romero
 
Semana 1 tecnologias web
Semana 1   tecnologias webSemana 1   tecnologias web
Semana 1 tecnologias webINFOVIC
 
Visual Studio2005
Visual Studio2005Visual Studio2005
Visual Studio2005hvillarreal
 
Desarrollo De Web Parts En Share Point2007
Desarrollo De Web Parts En Share Point2007Desarrollo De Web Parts En Share Point2007
Desarrollo De Web Parts En Share Point2007Luis Du Solier
 
Desarrollo de aplicaciones .NET
Desarrollo de aplicaciones .NETDesarrollo de aplicaciones .NET
Desarrollo de aplicaciones .NETHernan Chavarriaga
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securityseguridadelinux
 
Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7Chema Alonso
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Webguesta7f40
 
Fortificación de MS SharePon
Fortificación de MS SharePonFortificación de MS SharePon
Fortificación de MS SharePonChema Alonso
 
curso-de-visual-basic-net.pdf
curso-de-visual-basic-net.pdfcurso-de-visual-basic-net.pdf
curso-de-visual-basic-net.pdfJuanEnriquez52
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Juan Pablo
 
Asp.net lendry Barrientos
Asp.net lendry BarrientosAsp.net lendry Barrientos
Asp.net lendry BarrientosLeandryDe
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 

Similar a ASP.NET (20)

Asp .Net Ajax: Patrones
Asp .Net Ajax: PatronesAsp .Net Ajax: Patrones
Asp .Net Ajax: Patrones
 
Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20
 
Aplicaciones Web
Aplicaciones WebAplicaciones Web
Aplicaciones Web
 
Semana 1 tecnologias web
Semana 1   tecnologias webSemana 1   tecnologias web
Semana 1 tecnologias web
 
Desarrollo de aplicaciones web
Desarrollo de aplicaciones webDesarrollo de aplicaciones web
Desarrollo de aplicaciones web
 
Visual Studio2005
Visual Studio2005Visual Studio2005
Visual Studio2005
 
Desarrollo De Web Parts En Share Point2007
Desarrollo De Web Parts En Share Point2007Desarrollo De Web Parts En Share Point2007
Desarrollo De Web Parts En Share Point2007
 
Desarrollo de aplicaciones .NET
Desarrollo de aplicaciones .NETDesarrollo de aplicaciones .NET
Desarrollo de aplicaciones .NET
 
Asp.net
Asp.netAsp.net
Asp.net
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Web
 
Prog webuni3
Prog webuni3Prog webuni3
Prog webuni3
 
Web2
Web2Web2
Web2
 
Fortificación de MS SharePon
Fortificación de MS SharePonFortificación de MS SharePon
Fortificación de MS SharePon
 
Ponencia W2K8
Ponencia W2K8Ponencia W2K8
Ponencia W2K8
 
curso-de-visual-basic-net.pdf
curso-de-visual-basic-net.pdfcurso-de-visual-basic-net.pdf
curso-de-visual-basic-net.pdf
 
Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
Asp.net lendry Barrientos
Asp.net lendry BarrientosAsp.net lendry Barrientos
Asp.net lendry Barrientos
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
 

ASP.NET

  • 1. ASP.NET José Luis Clemente montes Lima – PERÚ
  • 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. Sección 1: Generalidades  “Mirando atrás ...“  Conceptos centrales de ASP.NET
  • 5. 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
  • 6. ¿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
  • 7. 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
  • 8. 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!
  • 9. Sección 2: Arquitectura  La Arquitectura del .NET Framework  Modelo de Aplicación Web  Configuración  Jerarquía de Clases
  • 10. 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 ...
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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>
  • 16. 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
  • 18. 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
  • 19. 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
  • 20. 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)
  • 21. 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
  • 22. 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>
  • 23. 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“>
  • 24. 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 --%>
  • 25. 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>
  • 27. 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
  • 28. 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
  • 29. Administración de estados 1/2  Estado de una Aplicación  Que es una “aplicación”?  Archivos, páginas, módulos, y código ejecutable  Un subdirectorio virtual y sus dependientes  Variables de estado de la Aplicación  Información global  Reglas de Implementación  Utilización de recursos del sistema  Bloqueo y desbloqueo de la información global  En entornos de múltiples hilos (“multithreaded”) se debe tener cuidado  Se pierde el estado cuando el cliente se cierra  No hay estado a través de una Granja de servidores
  • 30. Administración de estado 2/2  Estado de sesión  ¿Que es una sesión?  Restringida a una aplicación lógica  Contexto en el cual un cliente se conecta con un servidor  Funcionalidad  Solicitud de identificación y calificación  Almacenar Datos entre llamadas  Eventos de Sesión  Liberación de los datos de Sesión  Proceso de estado en el Servidor .NET
  • 31. Seguridad 1/3  Motivos  Prevenir el acceso a áreas del Servidor Web  Registrar y almacenar información relevante de los usuarios  Configuración de Seguridad  Tag <Security> en el archivo Config.web  Autenticación, Autorización, Impersonalización  Seguridad de acceso al código  ¿es éste realmente el código original del servidor?  Proteger el servidor de “código malicioso”
  • 32. Seguridad 2/3  Autenticación  Validar credenciales del usuario  Utilizar identidades de autenticación  Tipos de Autenticación  Windows, integrada con IE 5.0  Passport, servicios centralizados provistos por Microsoft  Cookie, adjunto en el requerimiento  Autorización  Determinar cuando es permitido un requerimiento  Autorización por Archivo y por URL
  • 33. Seguridad 3/3  Impersonalización  IE autentica al “usuario”  Se pasa un “token” a la aplicación ASP.NET  ASP.NET lo impersona  El acceso se permite de acuerdo a las asignaciones por NTFS  Seguridad de Acceso al código  Característica del .NET Famework  Verifica la identidad del código y su origen  Especifica las operaciones que el código tiene permitido ejecutar
  • 34. 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
  • 35. 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
  • 36. 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 ... ] }
  • 37. Sección 4: ASP.NET Avanzado  Web Forms  Controles del Servidor  Trabajando con Datos  Aplicaciones Web  Migrando de ASP a ASP.NET
  • 38. Generalidades de Web Forms 1/2 thisfile.aspx SubmitBtn_Click() { ... thisfile.cs ... <asp:Button id=“LookUp“ OnClick=„SubmitBtn_Click“ /> ...
  • 39. 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
  • 40. 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>
  • 41. 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
  • 42. 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>)
  • 43. 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”
  • 44. Sintaxis  Enfocado a ASP.NET  <asp:Nombre atributos />  Nombre  TextBox, DropDownList, etc.  atributos  Id=IDdelControl  runat=server
  • 45. 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(); }
  • 46. 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é
  • 47. 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
  • 48. 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
  • 49. 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
  • 50. 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