ASP NET Daniel A Seara Director Regional MSDN
- Slides: 50
ASP. NET Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft
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 IIS Aplicaciones ASP. NET Framework Sistema Operativo
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 ASP. NET Web Forms Windows Forms Servicios Web Marco de Servicios Base Datos Depuración Common Language Runtime Servicios del Sistema . . .
Modelo de Aplicación Web Código no administrado HTTP Request Host (IIS, Internet Explorer) HTTP Runtime Módulo HTTP Manejador de Requerimientos. . . Código administrado
HTTP Runtime • Código administrado ü Se ejecuta en un proceso no administrado • Permite 100% de disponibilidad ü Procesa asincrónicamente todas 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 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 Config. web Sub Dir 1 Sub Dir 2
Configuración 2/3 • Ejemplo Config. web <configuration> <configsections> <add names=“httpmodules“ type=“System. Web. Config. http. Modules. Config. Handler“/> <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. IConfiguration. Section. Handler
Jerarquía System. Object System. Web. UI. Control Web. Control System. Web. UI. Web. Controls List. Control Table List. Box Button Check. Box. List. . . Text. Box. . .
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. cs. aspx o. vb
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: Text. Box id=“My. Tb 1“ runat=“server“> ü Propiedades del control del servidor Ø <ASP: Text. Box 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 On. Click=“My. Click“ 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> Submit. Btn_Click(Sender As Object, E As Event. Args) Message. Text = “Hi “ & Name. Text End Sub </script> <body> <form action=“thisfile. aspx“ method=post runat=server> <h 3> Name: <asp: textbox id=“Name“ runat=server/> <asp: button type=submit text=“Look. Up“ On. Click=“Submit. Btn_Click“ runat=server/> <p> <asp: label id=“Message“ runat=server/> </form> </body> </html>
Ejemplo ASP. NET 2/2
Ciclo de ejecución. aspx Cliente Servidor IIS Pide archivo aspx ASP. NET Runtime Analiza el. aspx Genera la clase Page Instancia los controles Respuesta
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 Cliente Web evento mensaje Server Analiza el mensaje Llama al manejador apropiado manejador respuesta
Ejemplos • Ejemplo ü System. Web. UI. Web. Controls Clase Button, evento público Click ü System. Web. UI Clase Page, evento público Load • Eventos en C# ASP. NET <asp: Image. Button id=btn. Next runat=“server“ imageurl=“. . . “ onclick=“btn. Next_Click“/> C# protected void btn. Next_Click(Object S, Image. Click. Event. Args 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 thisfile. aspx. . . <asp: Button id=“Look. Up“ On. Click=„Submit. Btn_Click“ />. . . thisfile. cs Submit. Btn_Click() {. . . 1/2
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. Web. Controls
Ejemplos Web Forms • thisfile. cs: Protected void Submit. Btn_Click(Object S, Event. Args E) Message. Text=“Hi “ & Name. Text End Sub • thisfile. aspx: <%@ Page Language=“C#“ Codebehind=“thisfile. cs“. . . %> <body> <form action=“thisfile. aspx“ method=post runat=server> <h 3> Name: <asp: textbox id=“Name“ runat=“server“ /> <asp: button type=submit text=“Look. Up“ id=“Look. Up“ On. Click=“Submit. Btn_Click“ runat=“server“ /> <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: Html. Anchor (<a>), Html. Table (<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: Text. Box (<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 ØText. Box, Drop. Down. List, etc. ü atributos ØId=IDdel. Control Ørunat=server
Ejemplo de Control del Servidor • Controlado. aspx: <asp: Text. Box id=txt. Address runat=server Max. Length=255> <asp: Required. Field. Validator id=RFV 1 runat=server. . . > • Controlado. cs: 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 Presentación Web Form Capa de Negocio Internet Servicio Web 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
- Classic asp to asp.net migration
- Pozitia soarelui dimineata la pranz si seara
- Director regional de alajuela
- Asp.net request validation bypass
- Client server architecture in asp net
- Asp.net session management
- Asp.net execution model
- Asp.net agenda
- Inurl:bug bounty intext:token of appreciation
- Asp net session state
- Timeline asp.net
- Asp.net introduction
- Asp.net server controls
- Introduction to asp.net
- Asp custom control
- Asp.net soap
- Asp.net core tutorialspoint
- Net core 1
- Asp.net agenda
- Validation controls in asp.net with examples
- Authentication filters in mvc 5
- Asp net load testing
- Asp.net web api 2
- Asp.net roadmap
- Crud asp.net c# web forms
- 大阪 microsoft asp.net
- Reflection in asp net
- Feature flags asp net
- 大阪 microsoft asp
- Desarrollo de aplicaciones web con asp.net
- Internet information services (iis) 7.0
- Asp.net
- Http msdn
- Msdn partner program
- Msdn renewal
- Purchase msdn subscription
- Fopen msdn
- Fclose msdn
- Msdn.com
- Ron jacobs microsoft
- Jscript vs javascript
- Msdn subscriptions
- Adam smith msdn
- Channel 9 msdn
- Eduroam uph
- Msdn partner downloads
- Msdn partner program
- Blogs msdn com
- Msdn blogs
- Web service metadata
- Mswc iis msdn