Lista de módulos HTTP Lista de módulos HTTP Clases gestionadas Cada módulo implementa una interfaz específica Por ejemplo: administración del estado o la seguridad Todos los pedidos son enrutados a través de la misma lista de módulos HTTP Adición de módulos se realiza a través del Config.web Request handler Clases gestionadas Múltiples request handlers por cada aplicación Pero solo uno por URL
Configuración Conceptos y arquitectura Fichero de configuración: Config.web Basado en XML Fichero es mantenido dentro del subdirectorio de la aplicación Cambios son detectados automáticamente Arquitectura de configuración jerárquica Influye en el subdirectorio actual y en todos sus subdirectorios (Gp:) Root Dir (Gp:) Sub Dir1 (Gp:) Sub Dir2 (Gp:) Config.web
Configuración Ejemplo de Config.web
Configuración Configuración por defecto y personalidada Config.web está localizado en %windir%Microsoft.NETFrameworkVersion Conjunto estándar manipuladores de la sección de configuración Características de los navegadores soportados, mensajes de error personalizados, etc Configuración personalizada Extienda el conjunto de manipuladores de sección con los suyos propios Implementación de la interface: System.Web.Configuration.IConfigurationSectionHandler Problemas con Directorios virtuales Ficheros que no son ASP.NET
Jerarquía de clases System.Web.UI.WebControls (Gp:) ListControl
(Gp:) ListBox
(Gp:) CheckBoxList
(Gp:) Button
(Gp:) Table
(Gp:) WebControl
(Gp:) System.Web.UI.Control
(Gp:) System.Object
(Gp:) TextBox
(Gp:) …
(Gp:) …
Características Sintaxis y lenguajes soportados por ASP.NET Ejemplos Proceso de ejecución Ensamblado Administración de estado, Seguridad, y manipulación de eventos
Lógica de procesamiento e interface No más unión del código HTML código script Fácil mantenimiento de la aplicación Completa separación entre la interfaz y la lógica de procesamiento No existe código de implementación dentro de los ficheros HTML Ficheros para los diseñadores y ficheros para los programadores .aspx .cs .cs
Lenguajes soportados Visual Basic VBScript no es gestionado ! JScript C# Nuevo lenguaje basado en componentes C++ Extensiones gestionadas para C++ Otros: Cobol, Smalltalk, … Common Language Specification (CLS)
Sintaxis Directivas
Bloques de declaración de código [ lines of code ] “Render Blocks”
Sintaxis de control HTML
Sintaxis Sintaxis de controles personalizados Controles en el servidor personalizados
Propiedad de control en el servidor
Subpropiedad
Eventos asociados a un control en el servidor
Sintaxis Etiquetas de objetos en el servidor
Directivas Include en el servidor
Comentarios en el servidor
Ejemplo ASP.NET
void SubmitBtn_Click(Object Sender, EventArgs E) { Message.Text = "Hi "+Name.Text; }
Name:
Title: Ejemplo ASP.NET
Title: Ciclo de ejecución de un .aspx IIS ASP.NET Runtime (Gp:) Instantiate controls
(Gp:) Parse .aspx file
(Gp:) Generate page class
Request .aspx file Response Client Server
Title: Proceso de ejecución Body: Compilación, cuando la página es requerida por vez primera. Microsoft intermediate language (MSIL) Estilo lenguaje ensamblador Independiente del CPU Provee una capa de abstracción del hardware MSIL es ejecutado por el common language runtime Common language runtime Compilador Just-in-time (JIT) Código gestionado
Title: Administración de “Estado” Body: Estado de la aplicación Qué es una “aplicación”? Ficheros, páginas, módulos, y código ejecutable Un directorio virtual y sus subdirectorios Variables de estado de la aplicación Información global Reglas de Implementación Uso de recursos del sistema “Lock” y “unlock” su información global Cuidado con las variables globales en ambientes multihilo Pérdida de estado cuando el servidor es “destruido” Imposibilidad de compartir estados entre servidores
Title: Administración de “Estado” Body: Estado de la sesión Qué es una sesión? Restringido a aplicaciones lógicas Contexto en el cuál un usuario se comunica con un servidor Funcionalidad Pedidos de identificación y clasificación Almacenamiento de datos a través de multiples y sucesivos pedidos Eventos de Sesión Liberación automatica de datos de sesión Proceso servidor de estados en .NET
Title: Modelo de eventos Body: Eventos se generan en el cliente, pero se manipulan en el servidor (Gp:) Server (Gp:) Cliente Web (Gp:) parse message (Gp:) evento (Gp:) event handler (Gp:) event message (Gp:) response (Gp:) Llamada al manipulador apropiado
Title: ASP.NET avanzado Body: Web Forms Controles en el Servidor Trabajando con datos Aplicaciones Web Migrando de ASP hacia ASP.NET
Página anterior | Volver al principio del trabajo | Página siguiente |