Libros urgentes
Ciencias Humanas
Ciencias Técnicas
Derecho
Economía
Informática
Libros de Texto
Literatura
Oposiciones
Otros
Tiempo Libre

Informática > Programación > ASP

Programación Avanzada De Aplicaciones Con Microsoft Asp.net 2.0
Esposito, Dino (Ed. Anaya Multimedia)
Precio:47,7 € ($68,04)
800 páginas.
Idioma: Español
ISBN: 8441521360. ISBN-13: 9788441521360
1ª edición (01/2007).
Título sin existencias Ver libros relacionados


Este libro constituye una completa obra didáctica y de imprescindible referencia para aprender y dominar el desarrollo de complejas aplicaciones web dinámicas, escalables y con opciones avanzadas en Microsoft Visual C# para ASP.NET 2.0. Con ejemplos prácticos basados en proyectos reales y los consejos expertos de una autoridad en ASP.NET, este libro va más allá de los fundamentos para ayudar a los desarrolladores profesionales a resolver sus problemas empresariales.

Con este libro aprenderá, entre otras muchas cosas, a crear proveedores personalizados para reemplazar o mejorar componentes nativos y utilizar páginas asincrónicas, expresiones dinámicas y filtros de analizador sintáctico de la página para habilitar funciones de aplicación complejas.

Dino Esposito es un experto desarrollador de Microsoft, especialmente en ASP.NET y ADO.NET. Forma parte de la Solid Quality Learning, proveedor global de servicios de ecuación y soluciones avanzadas de tecnologías de Microsoft. Ponente habitual en eventos, como Win-Dev y Microsoft TechEd, es además colaborador en la revista MSDN Magazine y otras publicaciones, aparte de ser autor de numerosos títulos de Microsoft Press.

ÍNDICE

Agradecimientos

Introducción
¿Para quién es este libro?
Organización de este libro
Requisitos del sistema
Configuración de SQL Server 2005 Express Edition
Ejemplos de código

Parte I. Cómo funciona ASP.NET

1. El Modelo de Compilación de ASP.NET
El entorno de ejecución ASP.NET.
El modelo de proceso de ASP.NET
El modelo de proceso IIS 5.0
El proceso de modelo IIS 6.0
El pipeline de ASP.NET
Page Handler Factory
El papel de las clases parciales
Archivos temporales de ASP.NET
Archivos y estructuras ocultos
Detección de cambios en las páginas
Cómo ASP.NET reemplaza las estructuras de página
Obtención de información de la rutina
El código oculto de una página ASP.NET
Archivos involucrados
Estructura de la página
El árbol de control
Controladores de eventos y expresiones de datos relacionados
Reutilización de clases de páginas dinámicamente compiladas
Precompilación de la aplicación
Precompilación sobre la marcha
Condiciones para la precompilación sobre la marcha
La utilidad aspnet_compiler
Efectos de la precompilación sobre la marcha
Precompilación para desarrollo
Precompilación no actualizable
Precompilación actualizable
Precompilación programática
Construcción de bloques de compilación de ASP.NET
Opciones de compilación
Estructuras enlazadas
Compilación por lotes
Páginas no compiladas
Las carpetas reservadas de ASP.NET
La carpeta Bin
La carpeta App_Browsers
La carpeta App_Code
La carpeta App_Data
La carpeta App_GlobalResources
La carpeta App_LocalResources
La carpeta App_Themes
La carpeta App_WebReferences
Proveedores de construcción
¿Pero qué es un proveedor de construcción?
El proveedor ForceCopyBuildProvider
El proveedor IgnoredFileBuildProvider
La arquitectura de un proveedor de construcción personalizado
La meta del proveedor OrmBuildProvider
Estructura del archivo fuente .map
La implementación de un proveedor de construcción
El modelo de objetos CodeCOM
Poniendo todo en común
Utilizando un objeto TextWriter
Proveedores de ruta virtual
Estructura de un proveedor de ruta virtual
Estructura de un archivo virtual
Registro de un proveedor de ruta virtual
Conclusión

2. Módulos y Controladores HTTP
Un rápido vistazo a la API de extensibilidad de IIS
El modelo ISAPI
Ilustres hijos del modelo ISAPI
Estructura de los componentes ISAPI
Extensiones ISAPI
Filtros ISAPI
Los cambios que vienen con IIS 7.0
Un entorno de ejecución unificado
Extensiones y filtros ISAPI controlados
Escribiendo controladores HTTP
La interfaz IHttpHandler
Miembros de la interfaz IHttpHandler
Un controlador HTTP muy simple
Un controlador HTTP para informes rápidos
Creando un administrador de consultas
Registrando el controlador
Desarrollando nuestro controlador como un recurso ASHX
Controladores HTTP frente a páginas ASP.NET
El controlador visualizador de imágenes
Diseñando el controlador HTTP
Implementando el controlador HTTP
Programación de controladores HTTP avanzados
HTTP Handler Factory
Controlador asíncrono
Implementando controladores asíncronos
Escribiendo módulos HTTP
La interfaz IHttpModule
Un módulo HTTP personalizado
Enlazando eventos
Registrando con el archivo de configuración
Accediendo a otros módulos HTTP
La característica recargar página
Fundamentos de las operaciones de recarga de páginas
Esbozo de la solución
Implementación de la solución
Conclusión

3. Configuración de ASP.NET
Jerarquía de configuración de ASP.NET
Archivos de configuración
Árbol de los archivos de configuración
Leer y escribir archivos de configuración
Esquema de configuración
Secciones y grupos de secciones
Sección
Configuración centralizada
Ajustes en el nivel de equipo
Ajustes no modificables
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Sección
Otras secciones de alto nivel
Sección
Sección
Sección
Administrar datos de configuración
Utilizar la API de configuración
Obtener ajustes de configuración Web
Obtener ajustes de aplicación
Actualizar ajustes de aplicación
Cifrar una sección
Elegir el proveedor de cifrado
Crear secciones de configuración personalizadas
Utilizar herramientas de administración
Complemento MMC de ASP.NET
Herramienta Administración de sitios Web
Extender WSAT con fichas personalizadas
Herramientas de línea de comandos
Conclusión

4. Creación de proveedores personalizados en ASP.NET
Patrón de proveedores
Teoría: Patrones de diseño
Patrón "estrategia"
Patrón "adaptador"
Patrón "fábrica"
Práctica: Detalles de la implementación
Clase base
Capa de configuración
Capa de almacenamiento
Proveedores integrados en ASP.NET
Servicio de suscripción
Proveedor SqlMembershipProvider
Base de datos AspNetDb
Proveedor ActiveDirectoryMembershipProvider
Active Directory en múltiples dominios
Cuándo reemplazar
Servicio de administración de funciones
Proveedor WindowsTokenRoleProvider
Proveedor AuthorizationStoreRoleProvider
Comparar la API de funciones de ASP.NET con AzMan
Cuándo reemplazar
Servicio de perfiles de usuario
Proveedor SqlProfileProvider
Cuándo reemplazar
Servicio de estado de sesión
Proveedor InProcSessionStateStore
Proveedor OutOfProcSessionStateStore
Proveedor SqlSessionStateStore
Cuándo reemplazar
Servicio de mapa de sitio
Proveedor XmlSiteMapProvider
Cuándo reemplazar
Servicio de control de errores Web
Proveedor EventLogWebEventProvider
Proveedor MailWebEventProvider
Proveedor SqlWebEventProvider
Proveedor TraceWebEventProvider
Proveedor WmiWebEventProvider
Cuándo reemplazar
Servicio de personalización de elementos Web
Proveedor SqlPersonalizationProvider
Cuándo reemplazar
Servicio de protección de configuración
Estructura interna de los proveedores de cifrado
Proveedor RsaProtectedConfigurationProvider
Proteger secciones en una Web Farm
Proveedor DpapiProtectedConfigurationProvider
Cuándo reemplazar
Crear su propio proveedor
Consideraciones de diseño
Inicialización de un proveedor
Problemas de subprocesos
Lanzar excepciones
Implementación de un proveedor de perfiles basado en cookies
Métodos a sobrescribir
Método Initialize
Método GetPropertyValues
Método SetPropertyValues
Fundamentos del servicio de perfiles
Delimitar los datos a las aplicaciones
Unión de todos los elementos
Modelo de proveedor para los servicios personalizados
Conclusión

5. Crear páginas con opciones avanzadas
Crear páginas asincrónicas
Herramientas para la programación ASP.NET asincrónica
Interfaz IHttpAsyncHandler
Método BeginProcessRequest
Interfaz IAsyncResult
Método EndProcessRequest
Opciones de ASP.NET 2.0
Atributo Async
Método AddOnPreRenderCompleteAsync
La importancia de PreRenderComplete
Método RegisterAsyncTask
Crear una página asincrónica de ejemplo
Operaciones compatibles con la página asincrónica
Implementación de páginas asincrónicas
Implementación de la interfaz IHttpAsyncHandler
Ciclo de vida de página modificado
Escenarios reales de páginas asincrónicas
Llamar a un servicio Web
Llamadas de servicio Web de activar y olvidar
Ejecutar una operación larga de base de datos
Iniciar múltiples tareas asincrónicas
Escribir un objeto IAsyncResult personalizado
Utilizar métodos "Begin" personalizados
Método RegisterAsyncTask
Configurar una tarea asincrónica
Ejecución explícita de tareas asincrónicas
RegisterAsyncTask en páginas sincrónicas
Elegir la solución apropiada
Crear expresiones personalizadas
Bloques de código estilo ASP
Cómo funcionan los bloques de código en ASP clásico
Cómo funcionan los bloques de código en ASP.NET
Limitaciones de los bloques de código en ASP.NET
Expresiones de enlace de datos
Cómo funcionan las expresiones de enlace de datos
Limitaciones de las expresiones de enlace de datos
¿Por qué las expresiones # no son apropiadas para servir controles de origen de datos?
Expresiones dinámicas en ASP.NET 2.0
Constructor $ConnectionStrings
Constructor $AppSettings
Constructor $Resources
Opciones en tiempo de diseño
Páginas sin compilar y expresiones
Escribir un constructor de expresiones personalizadas
Clase ProfileExpressionBuilder
Compatibilidad con páginas sin compilar
Registrar el constructor $Profile
Utilizar el constructor $Profile
Detalles de implementación
Crear filtros de analizador sintáctico para páginas ASP.NET
Clase PageParserFilter
Interfaz de programación
Registrar un filtro de analizador sintáctico
Escenarios reales
Crear una lista de controles seguros
Bloquear clases base
Bloquear referencias virtuales
Añadir una cadena literal a todas las páginas
Conclusión

Parte II. Características especiales

6. Trabajar con código de secuencia de comandos
Añadir secuencias de comandos del cliente a las páginas
Comprobar las funciones del explorador
Conocer el tipo de explorador actual
Conocer las funciones del explorador
Elegir destinos de cliente
Salida específica del dispositivo en ASP.NET 2.0
Registrar bloques de secuencia de comandos
Secuencia de comandos incrustada
Clase ClientScriptManager
Bloques de secuencias de comandos a demanda
Bloques de secuencias de comandos de inicio
Código de secuencia de comandos en el envío
Archivos include en la parte del servidor
Cargar código de secuencia de comandos desde recursos
Ventajas de cargar código de secuencia de comandos desde los recursos
Añadir ventanas emergentes
API emergente básica
Diseñar un método global
Unión de todos los conceptos
Retrollamadas de secuencias de comandos
API directa de ASP.NET
Objeto XmlHttpRequest
Detalles de implementación
Compatibilidad cruzada con exploradores
Ejecutar una llamada fuera de banda
Código en la parte del cliente
Código de inicio de retrollamada
Código en la parte del servidor
Actualizar la página
La importancia del DOM
Ejemplo de principal/detalle
¿Merece la pena pagar el precio de las tecnologías fuera de banda?
Biblioteca Ajax.NET
Utilizar la biblioteca
Configurar la biblioteca Ajax
Crear una página de ejemplo
Detalles de implementación
Ajax.NET frente a las Retrollamadas de secuencias de comandos
Análisis paso a paso
Robustez frente a comunicación
Llamada de procedimiento remoto frente al reenvío
Estructura "Atlas"
Conclusión

7. Componente página con elementos Web
Elementos Web: un vistazo rápido
¿Qué son los elementos Web?
Contenido de un elemento Web
Diseño de un elemento Web
Elementos Web de ASP.NET y Microsoft SharePoint
Introducir la estructura de elementos Web
Elementos y zonas
Clase WebPartManager
Zonas de elementos Web
Crear páginas con elementos Web
La función de los controles de usuario
Croma, verbos y menús
Elementos Web basados en funciones
Crear elementos Web
Clase WebPart
Miembros de la clase WebPart
Interfaces de elementos Web
Filtro de autorización
El elemento Web StockViewer
Interfaz Public
Atributos para las propiedades del elemento Web
El motor de reproducción
Actualizaciones automáticas
Otros métodos de creación de elementos Web
Elementos Web como controles de usuario
Elementos Web como controles de servidor
Aplicar estilos a la zona Web
Propiedades de estilo de la zona
Propiedades de comportamiento de zona
Verbos de elementos Web
Definir un verbo personalizado
Persistencia de los datos de personalización de elementos Web
Editar y listar elementos Web
Cambiar el modo de presentación
Modos de presentación disponibles
Crear un control de usuario para conmutar modos
Cambiar el diseño de las zonas
Crear una página Portal de ejemplo
Mover los elementos Web
Crear una zona de editor
Modo de edición
Elementos del elemento editor
Crear una zona de catálogo
El modo de catálogo
Elemento de catálogo declarativo
Importar y exportar elementos Web
Conexión de elementos Web
Modelo de conexión
Elementos Web que se pueden conectar
Habilitar conexiones estáticas entre elementos Web
Habilitar conexiones dinámicas entre elementos Web
Conexión de puntos e interfaces
Crear un esquema principal/detalles
Elemento Web proveedor
Elemento Web consumidor
Unión de todos los conceptos
Conclusión

8. Programación orientada a movilidad
Vista general de los controles de movilidad
Arquitectura de los controladores de movilidad
Controles de movilidad versus controles de servidor clásicos
Varios lenguajes de marcado
Jerarquía de controles de movilidad
Páginas ASP.NET Mobile
Una sencilla página de movilidad
Paginación en páginas móviles
El ciclo de vida de una página móvil
Adaptadores de dispositivo
Controles del contenedor
El control Panel
El control Form
Controles de listado
El control List
El control ObjectList
El control SelectionList
Controles de texto
El control TextBox
El control Command
El control PhoneCall
Controles de validación
Desarrollo de aplicaciones de movilidad
La aplicación CustomerFinder
Ideando la aplicación en función de su usabilidad
Aplicaciones móviles en Visual Studio 2005
Trabajo con emuladores
El modelo de navegación de la aplicación
El formulario principal
El segundo formulario del menú
El formulario de cliente
Dibujado adaptativo
Entendiendo los filtros de dispositivos
Creación de plantillas de control
Gestión del estado
El estado de vista
El estado de vista privado
El estado de sesión
Conclusión

9. Trabajo con imágenes
Acceso a imágenes desde páginas Web
El elemento
Mostrando imágenes sin controles de servidor
Más allá de los archivos de imágenes estáticos
Referencias a imágenes que no son un archivo
Modificando el tipo de contenido
Enviando la información al flujo de salida
Carga de imágenes desde recursos
Agregando imágenes a recursos
Referencia a recursos embebidos
Acceso al flujo del recurso
Acceso a imágenes de bases de datos
Trabajo con campos binarios
Lectura de imágenes desde campos BLOB
Guardando las imágenes en los campos BLOB
Escenarios del mundo real
Optimización de la consulta a la base de datos
Optimización del uso de la memoria
¿Qué ocurre con SQL Server?
¿Qué ocurre con Oracle?
¿Debería guardar imágenes en la base de datos?
Generación de imágenes dinámicamente
Un breve paseo por las clases de GDI+
La clase Graphics
La clase Bitmap
Relleno de rectángulos
Dibujando texto
Escribiendo imágenes en memoria
Formatos de imagen soportados
Escribiendo notas de copyright en imágenes
Generación de vistas en miniatura
Control del índice de compresión de imágenes JPEG
Almacenamiento intermedio de imágenes
Construcción de páginas generadoras de gráficos
Obtención de los datos del gráfico
La arquitectura del generador de gráficos
Dibujo de un gráfico circular
Dibujo de un gráfico de barras
Conclusión

10. Navegación de sitios
Definición de la información del mapadel sitio
Creación del mapa de un sitio
El proveedor de mapas de sitio por defecto
El archivo web.sitemap
Proveedores de navegación de sitios
Configuración del mapa del sitio
Uso de varios archivos de mapa de sitio
Vistas específicas del usuario del sitio
Seguridad en los mapas de sitios ASP.NET
Localización de información de mapas de sitio
Localización de la estructura de navegación del sitio
Acceso a la información del mapadel sitio
La clase SiteMap
Propiedades de la clase SiteMap
Miembros de la clase SiteMapNode
Métodos de la clase SiteMapNode
Navegación en un nodo
Modificación mediante programación de los nodos del mapa de sitio en la memoria
El control SiteMapPath
Miembros del control SiteMapPath
Visualizando la localización de la página actual
Diseño de un componente de ruta de mapa de sitio personalizado
El control SiteMapDataSource
Miembros del control SiteMapDataSource
Uso del control SiteMapDataSource
Cálculo del nodo inicial
SiteMap versus SiteMapDataSource
Visualización de la información del mapa del sitio
El control TreeView
Miembros del control TreeView
Vista arborescente del sitio
El control Menu
Miembros del control Menu
Vista del sitio con orientación a menús
Visualización basada en el rol
Conclusión

Parte III. Controles ASP.NET

11. Controles iterativos de ASP.NET
¿Qué es en realidad un control iterativo?
Controles iterativos versus controles de lista
El motor de dibujo
La interfaz de programación
Controles iterativos versus controles de vista
Controles basados en cuadrículas
Controles basados en registros
El control Repeater
Programación de la interfaz del control Repeater
Vinculación de Repeater con datos
Cómo construye la salida el control Repeater
Plantillas del control Repeater
Una plantilla de elementos de ejemplo
La interfaz ITemplate
Cargando plantillas desde controles de usuario
Creación de plantillas mediante programación
Trabajo con el control Repeater
Construcción de la página
Construcción de la plantilla de elementos
Recuperación de los controles hijos
Gestionando eventos de envío de datos al servidor
El control DataList
Interfaz de programación del control DataList
Propiedades del control DataList
Eventos del control DataList
Características de formato
Tablas y disposición de flujo
Extracción de filas de las plantillas.
Dibujo de múltiples columnas
Plantillas de un control DataList
La plantilla SelectedItemTemplate
La plantilla EditItemTemplate
Trabajo con el control DataList
Hacer un elemento seleccionable
Agregando soporte para la paginación
Dibujo de las páginas de datos
Conclusión

12. Controles de usuario Web de ASP.NET
¿Qué es en realidad un control de usuario?
La clase UserControl
Propiedades base de los controles de usuario
Métodos base de los controles de usuario
Conversión de páginas en controles de usuario
La directiva @Control
Almacenaje intermedio de fragmentos de salida
Desarrollo de controles de usuario
Construcción de un control de usuario TabStrip
Inclusión de un control de usuario en una página
La directiva @Register
Configurando el control de usuario
Registro de controles en el archivo web.config
Construcción de un modelo de objetos de controles de usuario
Agregando propiedades
Agregación de métodos
Gestión de eventos de control de usuario
Agregando el evento SelectionChanged
Desencadenando un evento personalizado
Gestión de un evento personalizado
Hablando en serio sobre controles de usuario
Construcción de controles de usuario con datos vinculados
El control de usuario ButtonList
La interfaz de programación del control ButtonList
Generación de la salida
Configuración de una página de cliente
Carga de controles de forma dinámica
El método LoadControl
La directiva @Reference
Conclusión

13. Creación de controles ASP.NET personalizados
Extender controles existentes
Elegir una clase base
Herencia de una clase base
Extender una clase base
Control HyperLink más avanzado
Diseñar un escenario de utilización
Redirección del control HyperLink
Crear controles desde el principio
Clase base e interfaces
Control frente a WebControl
Interfaces relacionadas
Elegir un estilo de reproducción
Método Render
Crear el árbol del control
Control SimpleGaugeBar
Definir el modelo de objetos
Implementar el modelo de objetos
Establecer la regla
Configurar el sitio del control
Reproducción del control SimpleGaugeBar
Generación de HTML para un control personalizado
Utilizar controles secundarios para la reproducción
Aplicar estilos al control
Aplicar estilos
La medición en acción
Creación de controles avanzados
Control Panel desplegable
Interfaz de programación
Estado del control
Añadir compatibilidad con temas
Motor de reproducción
Mejorar la marcación estándar
Crear un árbol de control
Utilizar imágenes incrustadas
Añadir estilos
Activar eventos de reenvío
Controlar los clic del usuario
Evento público PanelClick
Eventos personalizados frente a eventos propagados
Añadir código de secuencia de comandos
Mostrar la imagen desplegable
Emitir código de secuencia de comandos
Generar código de secuencia de comandos
Identificación de elementos
Conclusión

14. Enlace de datos y controles en plantilla
Diseño de un control de enlace de datos
Tipos de controles de enlace de datos
Enlace de datos simple
Controles de lista
Enlace de datos complejo
El mecanismo del enlace de datos
Enlace a un origen de datos
Clase BaseDataBoundControl
Clase DataBoundControl
Método PerformDataBinding que se puede sobrescribir
Crear un control de enlace de datos simple
Características importantes
Añadir propiedades de enlace de datos
Añadir una propiedad al elemento de datos
Administración de estado de vista adicional
Sobrescribir el método PerformDataBinding
Control GaugeBar
Asignación de campos de origen de datos a propiedades del control
Objeto de elementos de datos de GaugeBar
Data Item y View State
Administración específica del estado de vista
Obtención de datos enlazados
Crear un control de enlace de datos de lista
Generalidades de los controles de lista
Miembros de ListControl adicionales
Un control de lista muy simple
Control HyperLinkList
Asignación de campos de origen de datosa las propiedades de control
Objeto de elemento de datos HyperLinkList
Obtención de datos enlazados
Interfaz IRepeatInfoUser
Crear un control en plantilla compuesto
Generalidades de los controles de enlace de datos compuestos
Creación de una jerarquía de controles secundarios
CreateChildControls sobrecargado
Elemento Control
Control BarChart
Objeto del elemento BarChart
Añadir datos de enlace
Eventos del control BarChart
Utilizar el control BarChart
Añadir plantillas
Plantillas y controles de usuario
Definir una propiedad de plantilla
Definir un contenedor de plantillas
Establecer una propiedad de plantilla
Reproducir una plantilla
Como resuelven los controles de enlace de datos los orígenes de datos
Conclusión

15. Compatibilidad en tiempo de diseño con los controlespersonalizados
Arquitectura en tiempo de diseño en .NET
Sitios, contenedores y controles
Controles y diseñadores.
Atributos en tiempo de diseño
Utilizar atributos en tiempo de diseño
Establecer atributos
Atributo Bindable
Atributo Browsable
Atributos Category y Description
Atributo DefaultValue
Atributo Themeable
Editor Attribute
Atributo TypeConverter
Atributos de clase
Tipos de enumeración y color
Atributos que afectan al comportamiento en tiempo de ejecución
Reproducción de tipos
Implementar un convertidor de tipos
Añadir una propiedad Filter al control GaugeBar
¿Qué es un convertidor de tipos?
Crear un convertidor de tipos
Derivación de ExpandableObjectConverter
Atributos de serialización
Crear un editor de tipos
Editor de la propiedad Filter
Diseñar un editor de tipos personalizado
Diseñar la clase de colección
Trabajar con colecciones personalizadas
Diseñadores personalizados
Editar la colección HyperLinkItemCollection
Diseñadores integrados
Clase ControlDesigner
Diseñadores para controles de enlace de datos
Escribir diseñadores personalizados
Diseñadores de control HTML
Crear un diseñador de control
Generación de HTML en tiempo de diseño
Adaptar la marcación para la propiedad Value
Crear una lista de formato automático
Especificar el diseñador para una clase Control
Conclusión

Índice alfabético

*Para península. Tiempo estimado para días laborables