Академический Документы
Профессиональный Документы
Культура Документы
NET
Daniel A. Seara
NDSoft
Director Regional MSDN Buenos Aires ARGENTINA
Objetivos
Introduccin a ASP.NET
Conceptos y Arquitectura Caractersticas de ASP.NET ASP.NET Avanzado
Contenido
Seccin 1: Generalidades Seccin 2: Arquitectura
El .NET Famework y la configuracin de ASP.NET
Eventos
Seccin 1: Generalidades
Mirando atrs ... Conceptos centrales de ASP.NET
Y qu hay de malo?
Mucha mezcla de cdigo y HTML de presentacin El cdigo ASP se interpreta disminuyendo el rendimiento El cdigo de scripting es poco especfico Compatibilidad con los navegadores No hay administracin real del estado
servidores El estado se pierde cuando el IE falla
Microsoft JScript Microsoft Visual Basic Scripting Edition (VBScript)
IIS
.NET Framework
Sistema Operativo
Seccin 2: Arquitectura
La Arquitectura del .NET Framework Modelo de Aplicacin Web Configuracin Jerarqua de Clases
...
HTTP Runtime
Cdigo administrado
Se ejecuta en un proceso no administrado
llamadas
Multithreaded
Reemplaza ISAPI
Internet Server Application Programming
Interface
Manejador de requerimientos
Clases administradas Mltiples manejadores para una aplicacin
Pero slo uno por URL
Configuracin 1/3
Conceptos y Arquitectura
Arch. de configuracin: Config.web
Basado en XML, legible y modificable por humanos El archivo se mantiene en el mismo directorio que la aplicacin Los cambios se detectan automticamente
Config.web
Sub Dir2
Configuracin 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 sesin --> </sessionstate> </configuration>
Configuracin 3/3
Configuracin por defecto y personalizada
El Config.web por defecto est en %windir%\Microsoft.NET\Framework\Version Conjunto estndar de configuracin Capacidades de los navegadores, mensajes de error personalizados, etc. Configuracin personalizada Extiende el conjunto de las estndares Implementando la interfaz:
System.Web.Configuration.IConfigurationSectionHandler
Jerarqua
System.Object System.Web.UI.Control
WebControl
Table
Button TextBox ...
Seccin 3: caractersticas
Sintaxis y lenguajes soportados por ASP.NET
Ejemplos
o
.vb
Lenguajes soportados
Visual Basic
VBScript es no administrado!
JScript C#
Nuevo lenguaje basado en componentes
C++
Extensiones administradas para C++
Specification (CLS)
Introduccin
Global.asax
%>
...]> </HTMLtag>
identifier=Nombre>
Comentarios en el servidor
<%-- Comentario --%>
Ejemplo ASP.NET
<html>
1/2
<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
Respuesta
Proceso de ejecucin
Compilacin, la primera vez que se pide una pgina 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 Comn de ejecucin (common language runtime)
Reglas de Implementacin
Utilizacin de recursos del sistema Bloqueo y desbloqueo de la informacin global En entornos de mltiples hilos (multithreaded) se debe tener cuidado Se pierde el estado cuando el cliente se cierra No hay estado a travs de una Granja de servidores
Seguridad 1/3
Motivos
Prevenir el acceso a reas del Servidor Web Registrar y almacenar informacin relevante de los
usuarios
Configuracin de Seguridad
Tag <Security> en el archivo Config.web
Seguridad 2/3
Autenticacin
Validar credenciales del usuario Utilizar identidades de autenticacin Tipos de Autenticacin
Windows, integrada con IE 5.0 Passport, servicios centralizados provistos por Microsoft Cookie, adjunto en el requerimiento
Autorizacin
Determinar cuando es permitido un requerimiento Autorizacin por Archivo y por URL
Seguridad 3/3
Impersonalizacin
IE autentica al usuario Se pasa un token a la aplicacin ASP.NET ASP.NET lo impersona El acceso se permite de acuerdo a las
permitido ejecutar
Modelo de delegados
Conecta un manejador de evento con un receptor Delegados simples y mltiples
evento
manejador respuesta
Ejemplos
Ejemplo
System.Web.UI.WebControls
Clase Button, evento pblico Click Clase Page, evento pblico Load
<asp:ImageButton id=btnNext runat=server imageurl=... onclick=btnNext_Click/>
System.Web.UI
Eventos en C#
ASP.NET
C#
1/2
thisfile.cs
SubmitBtn_Click() { ...
2/2
thisfile.aspx:
<%@ 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>
Familias 1/2
HTML
Vinculados directamente con elementos HTML Atributos HTML Ejemplos: HtmlAnchor (<a>), HtmlTable (<table>)
ASP.NET
Controles abstractos
No hay una relacin uno a uno con HTML
Familias
Validacin
2/2
Controla los ingresos del usuario Diferentes tipos Ingreso requerido Comparacin, rango, patrn Definidos por el usuario
Controles Mobile
Sintaxis
Enfocado a ASP.NET
<asp:Nombre atributos />
Controlado.cs:
foreach (Ivalidator val in Page.Validators) { val.Validate(); }
Cach
Mejora el rendimiento de la aplicacin Web Cach de salida
Almacena y obtiene pginas y objetos Cach de pgina Cach de fragmentos
Aplicaciones Web
ASP.NET define una aplicacin Web como la
suma de todos los Archivos, pginas, manejadores (de eventos), mdulos, y cdigo ejecutable que pueden ser invocados o ejecutados en el entorno de un directorio virtual dado, en un Servidor Web
Aplicaciones distribuidas
Presentacin
Web Form
Base de Datos
Temas de Migracin
Estructura
Bloques de cdigo 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
Configuracin Web Forms y Servicios Web Seguridad Administracin de estados
Acceso a Datos
Aplicaciones Web Migracin