CONTENIDO PRÓLOGO.......................................................................................................... XXIII PARTE 1. INTRODUCCIÓN................................................... 1 CAPÍTULO 1. INTRODUCCIÓN A MICROSOFT .NET ................................ 3 PLATAFORMA .NET ........................................................................................ .NET Framework................................................................................................. Aplicaciones de cliente .................................................................................. Aplicaciones web ........................................................................................... ADO.NET ...................................................................................................... Biblioteca de clases base ................................................................................ Entorno de ejecución común de los lenguajes ............................................... .NET Framework y COM+ ............................................................................ Visual Studio .................................................................................................. 4 5 7 7 9 9 9 12 13 CAPÍTULO 2. MI PRIMERA APLICACIÓN .................................................... 15 MICROSOFT VISUAL STUDIO ....................................................................... Crear un nuevo proyecto ................................................................................ El formulario .................................................................................................. Dibujar los controles ...................................................................................... Borrar un control ............................................................................................ Propiedades de los objetos ............................................................................. Bloquear la posición de todos los controles ................................................... Icono de la aplicación .................................................................................... Escribir los controladores de eventos ............................................................. 15 17 21 22 27 27 29 29 30 VIII ENCICLOPEDIA DE MICROSOFT VISUAL C# Guardar la aplicación ..................................................................................... Verificar la aplicación .................................................................................... Propiedades del proyecto ............................................................................... Crear soluciones de varios proyectos ............................................................. Opciones del EDI ........................................................................................... Personalizar el EDI ........................................................................................ WPF .................................................................................................................... 32 33 35 35 36 37 38 PARTE 2. INTERFACES GRÁFICAS ................................... 41 CAPÍTULO 3. APLICACIÓN WINDOWS FORMS ......................................... 43 PROGRAMANDO EN WINDOWS................................................................... ESTRUCTURA DE UNA APLICACIÓN.......................................................... Compilar y ejecutar la aplicación ................................................................... DISEÑO DE LA INTERFAZ GRÁFICA ........................................................... Crear un componente ..................................................................................... Controles más comunes ............................................................................ Añadir una etiqueta y editar sus propiedades............................................ Añadir un botón de pulsación y editar sus propiedades ............................ Añadir una descripción abreviada a un componente................................. CONTROL DE EVENTOS ................................................................................ Asignar controladores de eventos a un objeto................................................ CICLO DE VIDA DE UN FORMULARIO ....................................................... PROPIEDADES BÁSICAS DE UN FORMULARIO........................................ Administración de la duración ....................................................................... Administración de formularios ...................................................................... Apariencia y comportamiento ........................................................................ CONFIGURACIÓN DE UNA APLICACIÓN ................................................... RECURSOS DE UNA APLICACIÓN ............................................................... ATRIBUTOS GLOBALES DE UNA APLICACIÓN........................................ CICLO DE VIDA DE UNA APLICACIÓN....................................................... Permitir una sola instancia de la aplicación ................................................... Argumentos en la línea de órdenes ................................................................ Pantalla de presentación ................................................................................. 45 47 51 53 53 53 54 56 57 58 61 62 64 64 64 65 66 68 69 70 72 73 74 CAPÍTULO 4. INTRODUCCIÓN A WINDOWS FORMS ............................... 79 BIBLIOTECA DE CLASES DE WINDOWS FORMS ..................................... CAJAS DE TEXTO, ETIQUETAS Y BOTONES ............................................. Desarrollo de la aplicación ............................................................................. 79 82 82 CONTENIDO Objetos ...................................................................................................... Eventos...................................................................................................... Pasos a seguir durante el desarrollo .......................................................... El formulario, los controles y sus propiedades ......................................... Tecla de acceso ......................................................................................... Botón predeterminado ............................................................................... Responder a los eventos ............................................................................ Enfocar un objeto ........................................................................................... Seleccionar el texto de una caja de texto ....................................................... INTERCEPTAR LA TECLA PULSADA .......................................................... VALIDACIÓN DE UN CAMPO DE TEXTO ................................................... Eventos Validating y Validated ..................................................................... Expresiones regulares .................................................................................... Ejemplos de expresiones regulares ........................................................... El motor de expresiones regulares ............................................................ MaskedTextBox ............................................................................................. EJERCICIOS RESUELTOS ............................................................................... Diseño de una calculadora ............................................................................. Objetos ...................................................................................................... Eventos...................................................................................................... Pasos a seguir durante el desarrollo .......................................................... Diseño de la ventana y de los controles ......................................................... Establecer una fuente ..................................................................................... Color .............................................................................................................. Escribir el código ........................................................................................... EJERCICIOS PROPUESTOS............................................................................. IX 83 83 83 84 85 85 85 89 90 91 93 96 100 100 103 104 106 106 106 107 107 107 109 110 111 119 CAPÍTULO 5. MENÚS Y BARRAS DE HERRAMIENTAS ............................ 121 ARQUITECTURA .............................................................................................. MENÚS ............................................................................................................... DISEÑO DE UNA BARRA DE MENÚS .......................................................... Crear un menú mediante programación ......................................................... Controlador de un elemento de un menú ....................................................... Aceleradores y nemónicos ............................................................................. IMÁGENES EN CONTROLES ......................................................................... Recursos de una aplicación ............................................................................ LISTA DE TAREAS........................................................................................... BARRA DE HERRAMIENTAS......................................................................... Diseño de una barra de herramientas ............................................................. BARRA DE ESTADO ........................................................................................ Diseño de una barra de estado ........................................................................ 121 123 124 125 128 129 130 130 133 134 134 136 137 X ENCICLOPEDIA DE MICROSOFT VISUAL C# DESARROLLO DE UN EDITOR DE TEXTOS ............................................... Caja de texto multilínea ................................................................................. Diseño del editor ............................................................................................ El portapapeles ............................................................................................... Objeto Clipboard....................................................................................... Trabajar con texto seleccionado ..................................................................... Diseño de la barra de menús .......................................................................... Diseño de la barra de herramientas ................................................................ Asociar un método con un elemento de un menú .......................................... Archivo - Salir........................................................................................... Edición - Cortar......................................................................................... Edición - Copiar ........................................................................................ Edición - Pegar.......................................................................................... Opciones - Fuente ..................................................................................... Opciones - Tamaño ................................................................................... Habilitar o inhabilitar los elementos de un menú...................................... Marcar el elemento seleccionado de un menú .......................................... Deshacer ......................................................................................................... Recordar las ediciones reversibles ............................................................ Añadir a la interfaz la orden Deshacer ...................................................... Listas desplegables en menús......................................................................... MENÚS CONTEXTUALES .............................................................................. MENÚS DINÁMICOS ....................................................................................... EJERCICIOS PROPUESTOS............................................................................. 138 139 140 142 142 143 144 146 148 148 148 149 149 150 151 152 153 154 154 154 155 159 161 165 CAPÍTULO 6. CONTROLES Y CAJAS DE DIÁLOGO .................................. 169 CAJAS DE DIÁLOGO MODALES Y NO MODALES .................................... CAJAS DE MENSAJE ....................................................................................... CAJAS DE DIÁLOGO PERSONALIZADAS ................................................... Crear una caja de diálogo ............................................................................... Mostrar una caja de diálogo ........................................................................... Introducción de datos y recuperación de los mismos ..................................... DIÁLOGO ACERCA DE ................................................................................... FORMULARIO PROPIETARIO........................................................................ OTROS CONTROLES WINDOWS FORMS .................................................... Casillas de verificación .................................................................................. Botones de opción .......................................................................................... Listas simples ................................................................................................. Diseñar la lista........................................................................................... Iniciar la lista............................................................................................. Acceder a los elementos seleccionados..................................................... 170 170 173 174 176 177 179 180 181 182 186 191 193 194 194 CONTENIDO Colección de elementos de una lista ......................................................... Clase CheckedListBox .............................................................................. Listas desplegables ......................................................................................... Diseñar la lista........................................................................................... Iniciar la lista............................................................................................. Acceder al elemento seleccionado ............................................................ Colección de elementos de una lista desplegable ..................................... Controles de rango definido ........................................................................... ScrollBar ................................................................................................... TrackBar ................................................................................................... ProgressBar ............................................................................................... Control con pestañas ...................................................................................... Gestión de fechas ........................................................................................... FlowLayoutPanel y TableLayoutPanel .......................................................... CAJAS DE DIÁLOGO ESTÁNDAR ................................................................. Cajas de diálogo Abrir y Guardar .................................................................. Caja de diálogo Color .................................................................................... Caja de diálogo Fuente ................................................................................... REDIMENSIONAR UN COMPONENTE ......................................................... TEMPORIZADORES ......................................................................................... EJERCICIOS RESUELTOS ............................................................................... EJERCICIOS PROPUESTOS............................................................................. XI 195 196 197 198 199 199 200 201 202 205 206 208 209 210 214 215 218 219 221 222 225 236 CAPÍTULO 7. TABLAS Y ÁRBOLES ................................................................ 239 TABLAS ............................................................................................................. Arquitectura de un control DataGridView ..................................................... Construir una tabla ......................................................................................... Añadir las columnas a la tabla ....................................................................... Iniciar la tabla................................................................................................. Tamaño de las celdas ..................................................................................... Acceder al valor de la celda seleccionada ...................................................... ÁRBOLES........................................................................................................... Arquitectura de un árbol ................................................................................ Construir un árbol .......................................................................................... Añadir nodos a un árbol ................................................................................. Imágenes para los nodos del árbol ................................................................. Iniciar el árbol ................................................................................................ Acceder al nodo seleccionado ........................................................................ Recorrer todos los nodos del árbol ................................................................. Añadir y borrar nodos .................................................................................... Añadir un nodo ......................................................................................... 239 241 242 243 244 250 251 252 253 253 254 255 256 258 262 262 263 XII ENCICLOPEDIA DE MICROSOFT VISUAL C# Borrar el nodo seleccionado...................................................................... Borrar todos los nodos excepto la raíz ...................................................... Personalizar el aspecto de un árbol ................................................................ VISTAS DE UNA LISTA................................................................................... Personalizar el aspecto de una vista ............................................................... La colección Columns .................................................................................... Elemento de la lista ........................................................................................ La colección Items ......................................................................................... Un ejemplo con ListView, TreeView y SplitContainer ................................. EJERCICIOS RESUELTOS ............................................................................... EJERCICIOS PROPUESTOS............................................................................. 266 266 267 267 268 269 270 271 271 274 290 CAPÍTULO 8. DIBUJAR Y PINTAR .................................................................. 291 SERVICIOS DE GDI+........................................................................................ OBJETOS DE DIBUJO BÁSICOS .................................................................... Objeto Graphics ............................................................................................. Objeto Color................................................................................................... Objeto Pen ...................................................................................................... Objeto Brush .................................................................................................. Objeto Point ................................................................................................... Objeto Rectangle ............................................................................................ Objeto Font .................................................................................................... Objeto GraphicsPath ...................................................................................... MÉTODOS DE DIBUJO .................................................................................... Líneas y rectángulos....................................................................................... Elipses y arcos ................................................................................................ Tartas.............................................................................................................. Polígonos........................................................................................................ Curvas flexibles.............................................................................................. Trazados ......................................................................................................... Regiones ......................................................................................................... GRÁFICOS PERSISTENTES ............................................................................ SISTEMAS DE COORDENADAS Y TRANSFORMACIONES ...................... Tipos de sistemas de coordenadas.................................................................. Transformaciones de color ............................................................................. MOSTRAR IMÁGENES .................................................................................... Mapas de bits ................................................................................................. Cargar y mostrar un mapa de bits .................................................................. Intercambiar imágenes a través del portapapeles ........................................... CAMBIAR LA FORMA DEL PUNTERO DEL RATÓN ................................. EJERCICIOS RESUELTOS ............................................................................... 293 294 296 297 298 299 300 300 301 302 302 302 303 304 304 305 306 306 309 311 315 316 318 318 320 326 327 328 CONTENIDO XIII EJERCICIOS PROPUESTOS............................................................................. 339 CAPÍTULO 9. INTERFAZ PARA MÚLTIPLES DOCUMENTOS ................. 343 CREACIÓN DE UNA APLICACIÓN MDI....................................................... Organizar los formularios hijo ....................................................................... EDITOR DE TEXTO MDI ................................................................................. Formulario padre ............................................................................................ Formulario hijo .............................................................................................. Vincular código con los controles .................................................................. Iniciar y finalizar la aplicación.................................................................. Nuevo documento ..................................................................................... Abrir un documento .................................................................................. Guardar un documento .............................................................................. Guardar como............................................................................................ Imprimir un documento ............................................................................ Cortar, copiar y pegar ............................................................................... Recordar las ediciones reversibles ............................................................ Barras de herramientas y de estado ........................................................... Menú Ventana ........................................................................................... Selección actual del texto.......................................................................... El documento ha cambiado ....................................................................... Operaciones de arrastrar y soltar ............................................................... EJERCICIOS RESUELTOS ............................................................................... EJERCICIOS PROPUESTOS............................................................................. 344 347 348 348 350 352 353 353 354 355 356 357 359 360 361 362 363 365 366 366 371 CAPÍTULO 10. CONSTRUCCIÓN DE CONTROLES ......................................... 373 REUTILIZACIÓN DE CONTROLES EXISTENTES ....................................... Control TextBox extendido ............................................................................ Clasificación de las propiedades de un control .............................................. CONTROLES DE USUARIO ............................................................................ Construir el control de usuario ....................................................................... Añadir propiedades ................................................................................... Añadir métodos ......................................................................................... Añadir eventos .......................................................................................... Opciones fecha-hora alarma o actual ........................................................ Verificar el control de usuario........................................................................ EJERCICIOS RESUELTOS ............................................................................... EJERCICIOS PROPUESTOS............................................................................. 373 374 379 379 380 381 382 383 385 386 388 391 XIV ENCICLOPEDIA DE MICROSOFT VISUAL C# CAPÍTULO 11. PROGRAMACIÓN CON HILOS ............................................ 393 ESPACIO DE NOMBRES System.Threading ................................................... Clase Thread .................................................................................................. Resumen de los métodos y propiedades de Thread........................................ Estados de un hilo .......................................................................................... ACCESO A CONTROLES DESDE HILOS ...................................................... Delegados ....................................................................................................... Componente BackgroundWorker................................................................... Ejecutar una tarea de forma asíncrona ...................................................... Notificar el progreso a la interfaz gráfica del usuario ............................... Recuperar el estado después de la finalización de la tarea ........................ Cancelación anticipada ............................................................................. MECANISMOS DE SINCRONIZACIÓN ......................................................... Objetos de sincronización .............................................................................. Secciones críticas ...................................................................................... Controladores de espera ............................................................................ DETENER UN HILO DE FORMA CONTROLADA ....................................... EJERCICIOS RESUELTOS ............................................................................... EJERCICIOS PROPUESTOS............................................................................. 394 397 400 400 401 401 406 407 409 409 410 410 411 413 414 417 420 423 PARTE 3. ACCESO A DATOS ............................................... 425 CAPÍTULO 12. ENLACE DE DATOS EN WINDOWS FORMS ..................... 427 ASPECTOS BÁSICOS ....................................................................................... Enlace de datos manual .................................................................................. Notificar cuándo cambia una propiedad ........................................................ Enlace de datos con las clases de .NET ......................................................... La clase Binding ....................................................................................... Tipos de enlace ......................................................................................... Componente BindingSource ..................................................................... Notificación de cambios en un enlace de Windows Forms ...................... Crear un enlace ......................................................................................... Enlaces con otros controles.................................................................. Aplicar conversiones............................................................................ ORÍGENES DE DATOS COMPATIBLES CON WINDOWS FORMS ........... Enlace a colecciones de objetos ..................................................................... List ............................................................................................................ BindingList ............................................................................................... BindingSource .......................................................................................... ACCEDIENDO A LOS DATOS ........................................................................ 427 427 431 434 435 436 437 437 437 439 439 444 446 447 452 456 459 CONTENIDO Ventana de orígenes de datos ......................................................................... Vinculación maestro-detalle........................................................................... Operaciones con los datos .............................................................................. Elemento actual ......................................................................................... Navegar ..................................................................................................... Ordenación, filtrado y búsqueda ............................................................... BindingListView ............................................................................................ Elemento actual de la vista........................................................................ Ordenar ..................................................................................................... Filtrar ........................................................................................................ Buscar ....................................................................................................... Datos introducidos por el usuario .................................................................. Error en los datos ...................................................................................... Validación ................................................................................................. Datos que no necesitan validación ............................................................ XV 462 466 470 470 471 474 476 478 478 479 479 480 482 483 485 CAPÍTULO 13. ACCESO A UNA BASE DE DATOS ....................................... 493 SQL ..................................................................................................................... Crear una base de datos .................................................................................. Crear una tabla ............................................................................................... Escribir datos en la tabla ................................................................................ Modificar datos de una tabla .......................................................................... Borrar registros de una tabla .......................................................................... Seleccionar datos de una tabla ....................................................................... Crear una base de datos .................................................................................. Base de datos Microsoft Access................................................................ Base de datos Microsoft SQL Server ........................................................ ADO.NET ........................................................................................................... Componentes de ADO.NET........................................................................... Conjunto de datos........................................................................................... Proveedor de datos ......................................................................................... Objeto conexión ........................................................................................ Objeto orden ............................................................................................. Objeto lector de datos ............................................................................... Adaptador de datos ................................................................................... Modos de conexión ........................................................................................ Probando una conexión .................................................................................. Servicio de conexiones................................................................................... ACCESO CONECTADO A UNA BASE DE DATOS ...................................... ATAQUES DE INYECCIÓN DE CÓDIGO SQL .............................................. Órdenes parametrizadas ................................................................................. 494 494 494 496 496 497 497 499 499 501 502 503 504 506 507 509 509 510 512 514 515 516 519 523 XVI ENCICLOPEDIA DE MICROSOFT VISUAL C# Procedimientos almacenados ......................................................................... TRANSACCIONES ............................................................................................ Transacción implícita TransactionScope ....................................................... Transacciones explícitas................................................................................. ESCRIBIR CÓDIGO INDEPENDIENTE DEL PROVEEDOR ........................ CONSTRUIR COMPONENTES DE ACCESO A DATOS............................... Capa de presentación ..................................................................................... Operaciones contra la base de datos............................................................... Objetos de negocio ......................................................................................... Capa de acceso a datos ................................................................................... Capa de lógica de negocio ............................................................................. Diseño de la capa de presentación ................................................................. Lógica de interacción con la capa de presentación ........................................ Desacoplar la IU del resto de la aplicación .................................................... Adaptar la colección de objetos ................................................................ Capa de lógica de negocio ........................................................................ Lógica de interacción con la capa de presentación ................................... Validación ...................................................................................................... ACCESO DESCONECTADO A UNA BASE DE DATOS ............................... ASISTENTES DE VISUAL STUDIO ................................................................ Crear la infraestructura para el acceso a la base de datos .............................. Crear el conjunto de datos .............................................................................. Agregar un control rejilla al formulario ......................................................... Código subyacente ......................................................................................... Asistente para configurar orígenes de datos................................................... VISTA EN DETALLE DEL CONJUNTO DE DATOS .................................... Diseño del formulario .................................................................................... Vincular las cajas de texto con el conjunto de datos ...................................... Controles de navegación ................................................................................ Añadir, borrar y buscar datos ......................................................................... CONTROL BindingNavigator ............................................................................ DISEÑO MAESTRO-DETALLE ....................................................................... EJERCICIOS RESUELTOS ............................................................................... EJERCICIOS PROPUESTOS............................................................................. 524 525 526 530 533 539 540 541 542 545 550 551 553 556 557 561 564 566 566 570 572 577 578 579 581 585 587 588 590 593 597 598 608 627 CAPÍTULO 14. LINQ ............................................................................................ 631 RECURSOS DEL LENGUAJE COMPATIBLES CON LINQ.......................... Declaración implícita de variables locales ..................................................... Matrices de tipos definidos de forma implícita .............................................. Tipos anónimos .............................................................................................. Propiedades autoimplementadas .................................................................... 631 632 632 632 633 CONTENIDO Iniciadores de objetos y colecciones .............................................................. Métodos extensores ........................................................................................ Expresiones lambda ....................................................................................... El delegado Func<T, TResu> ......................................................................... Operadores de consulta .................................................................................. Árboles de expresiones lambda ...................................................................... EXPRESIONES DE CONSULTA...................................................................... Compilación de una expresión de consulta .................................................... Sintaxis de las expresiones de consulta .......................................................... Cláusula group .......................................................................................... Productos cartesianos ................................................................................ Cláusula join ............................................................................................. Cláusula into ............................................................................................. Cláusula let................................................................................................ PROVEEDORES DE LINQ ............................................................................... ENTITY FRAMEWORK ................................................................................... MARCO DE ENTIDADES DE ADO.NET ........................................................ Consultar un modelo de objetos ..................................................................... ACCESO A UNA BASE DE DATOS ................................................................ Conectarse a la base de datos ......................................................................... Generar el modelo de entidades ..................................................................... Las clases de entidad y el contexto de objetos ............................................... Propiedades de navegación ............................................................................ Mostrar datos en una interfaz gráfica ............................................................. Una aplicación con interfaz gráfica................................................................ Vincular los controles con sus orígenes de datos ........................................... Proveedor de datos ......................................................................................... Filtros ............................................................................................................. Contextos de corta duración ........................................................................... REALIZAR CAMBIOS EN LOS DATOS ......................................................... Modificar filas en la base de datos ................................................................. Insertar filas en la base de datos ..................................................................... Borrar filas en la base de datos ...................................................................... Problemas de concurrencia ............................................................................ El seguimiento de cambios............................................................................. CODE FIRST: UN NUEVO MODELO DE TRABAJO .................................... Aplicando Code First ..................................................................................... Definir el modelo de entidades ................................................................. Definir el contexto de objetos ................................................................... Anotaciones en datos y convenciones predeterminadas ........................... Cadena de conexión .................................................................................. Generar la base de datos............................................................................ Validación de entidades ................................................................................. XVII 633 634 635 637 638 640 643 647 649 649 650 650 651 652 653 654 656 659 663 664 664 673 676 678 679 680 681 686 687 688 693 695 699 703 710 715 717 717 718 719 720 722 726 XVIII ENCICLOPEDIA DE MICROSOFT VISUAL C# Atributos de anotación de datos ................................................................ Interfaz fluida ............................................................................................ Code First desde una base de datos existente................................................. Cadena de conexión .................................................................................. Contexto de objetos................................................................................... El modelo de entidades ............................................................................. Acceder a los datos ................................................................................... EJERCICIOS RESUELTOS ............................................................................... EJERCICIOS PROPUESTOS............................................................................. 726 727 729 730 731 732 733 734 737 PARTE 4. APLICACIONES PARA INTERNET .................. 739 CAPÍTULO 15. ASP.NET ..................................................................................... 741 ASP.NET ............................................................................................................. Conceptos básicos de ASP.NET .................................................................... Páginas web ASP.NET .................................................................................. Controles HTML ............................................................................................ Controles de servidor web.............................................................................. Presentación del texto ............................................................................... Controles de entrada ................................................................................. Envío y devolución ................................................................................... Exploración ............................................................................................... Controles de diseño ................................................................................... Selección de fechas ................................................................................... Controles con enlaces a datos ................................................................... Controles de validación............................................................................. Un ejemplo de diseño de una página web ASP.NET ..................................... Software para el desarrollo de aplicaciones ASP.NET .................................. Componentes de una página web ASP.NET .................................................. ¿Cómo se publica una aplicación web? ......................................................... Crear un directorio virtual ......................................................................... Convertir la aplicación en una aplicación web de IIS ............................... Seguridad asociada con una carpeta.......................................................... Modelo de ejecución de una página web ASP.NET ...................................... Lógica de negocio .......................................................................................... Enlaces de datos en ASP.NET ....................................................................... Expresiones de enlace de datos ................................................................. Controles de lista enlazados a datos .......................................................... Modelo de enlace de ASP.NET ................................................................ GridView ............................................................................................. Seleccionar datos ................................................................................. 743 744 745 746 747 748 748 750 751 751 751 752 752 753 755 757 759 760 762 764 765 767 771 772 772 775 777 779 CONTENIDO XIX Actualizar y eliminar datos .................................................................. Insertar datos (FormView) ................................................................... Estado del modelo y validación ........................................................... Asistente para publicar un proyecto web ASP.NET ...................................... 780 783 785 787 CAPÍTULO 16. FORMULARIOS WEB ............................................................. 791 APLICACIÓN WEB ASP.NET .......................................................................... Crear la capa de acceso a datos ...................................................................... Añadir un nuevo formulario web ................................................................... Descripción de un formulario web ASP.NET ........................................... Agregar controles y texto a la página ............................................................. Ciclo de vida de una página ........................................................................... Modelo de eventos de ASP.NET ................................................................... Añadir los controladores de eventos .............................................................. Obtener acceso a la base de datos .................................................................. CONTROLES DE VALIDACIÓN ..................................................................... HERRAMIENTA DE PRECOMPILACIÓN ASP.NET .................................... PROCESAMIENTO DE FORMULARIOS ....................................................... Formato de la petición HTTP ......................................................................... Petición HTTP get..................................................................................... Petición HTTP post ................................................................................... Respuestas en el protocolo HTTP .................................................................. Contexto de un formulario web...................................................................... Redireccionar una solicitud a otra URL ......................................................... ESTADO DE UNA PÁGINA ASP.NET ............................................................ Administración de estado en el cliente........................................................... Cookies ..................................................................................................... Cadenas de consulta .................................................................................. Campos de formulario ocultos .................................................................. Estado de vista .......................................................................................... Administración de estado en el servidor ........................................................ Estado de aplicación ................................................................................. Estado de sesión ........................................................................................ Bases de datos ........................................................................................... MEJORANDO EL RENDIMIENTO EN EL SERVIDOR................................. Almacenamiento en la caché de resultados .................................................... Configurar el almacenamiento en caché a nivel de página ....................... Actualización dinámica de fragmentos de una página en caché ............... Configurar el almacenamiento en caché por programación ...................... Almacenamiento en caché de datos procedentes de SQL Server ................ Reducir la información hacia y desde el servidor .......................................... 792 796 798 799 800 802 805 805 808 810 814 816 816 817 818 819 819 821 821 822 822 824 825 825 828 828 829 829 830 830 832 832 833 834 836 XX ENCICLOPEDIA DE MICROSOFT VISUAL C# CONTROLES DE SERVIDOR COMO ORIGEN DE DATOS......................... SQL y desarrollo web .................................................................................... Control SqlDataSource ............................................................................. Responder a los eventos ............................................................................ LINQ y desarrollo web .................................................................................. Control EntityDataSource ......................................................................... Responder a los eventos ............................................................................ Generar la consulta Select mediante código ............................................. Realizar cambios en los datos ................................................................... Actualizar y eliminar filas en la base de datos ..................................... Controlar los errores en una página ASP.NET .................................... Insertar filas en la base de datos .......................................................... MODELO DE ENLACE DE ASP.NET ............................................................. Realizar cambios en los datos ................................................................... Actualizar y eliminar filas en la base de datos ..................................... Controlar los errores en una página ASP.NET .................................... Insertar filas en la base de datos .......................................................... Capa de la lógica de negocio.......................................................................... Paginación, ordenación y filtrado .................................................................. EJERCICIOS PROPUESTOS............................................................................. 837 839 841 844 846 847 853 855 856 857 859 859 865 870 870 873 873 878 881 887 CAPÍTULO 17. SERVICIOS WEB ...................................................................... 889 Integrar un servicio web en una aplicación .................................................... SERVICIOS WCF .............................................................................................. MODELO DE PROGRAMACIÓN DE WCF .................................................... Implementar un servicio WCF ....................................................................... Definir un contrato .................................................................................... Configuración del servicio WCF .............................................................. Implementar un cliente WCF ......................................................................... Configuración del cliente WCF ................................................................ Obtener acceso al servicio web ................................................................. Ejecución asíncrona .................................................................................. Seguridad en WCF ......................................................................................... SERVICIOS WEB Y LINQ ................................................................................ Arquitectura de N capas lógicas y N niveles físicos ...................................... Crear la base de datos..................................................................................... Crear el servicio WCF.................................................................................... Cliente WCF .................................................................................................. Llenar la lista............................................................................................. Mostrar datos ............................................................................................ Actualizar datos ........................................................................................ 890 891 892 893 894 900 902 906 906 908 912 912 914 915 916 924 927 928 928 CONTENIDO XXI Cambiar foto ............................................................................................. Agregar datos ............................................................................................ Borrar datos............................................................................................... Errores inesperados ................................................................................... EJERCICIOS PROPUESTOS............................................................................. 929 929 930 931 932 CAPÍTULO 18. SEGURIDAD DE APLICACIONES ASP.NET ...................... 939 ARQUITECTURA ASP.NET ............................................................................. CICLO DE VIDA DE UNA APLICACIÓN ASP.NET ..................................... GRUPOS DE APLICACIONES EN IIS ............................................................. AUTENTICACIÓN DE WINDOWS ................................................................. AUTORIZACIÓN ............................................................................................... SUPLANTACIÓN DE IDENTIDAD ................................................................. AUTENTICACIÓN MEDIANTE FORMULARIOS ......................................... CONTROLES PARA INICIO DE SESIÓN ....................................................... SERVICIO DE SUSCRIPCIONES..................................................................... SEGURIDAD EN LA TRANSMISIÓN DE DATOS ........................................ Criptografía simétrica..................................................................................... Criptografía asimétrica ................................................................................... AUTENTICACIÓN USANDO CERTIFICADOS ............................................. Instalar un certificado SSL en IIS 7.0 o superior ........................................... Certificado de cliente rechazado .................................................................... 940 941 942 943 950 952 953 958 971 978 979 979 981 983 988 CAPÍTULO 19. PÁGINAS MAESTRAS ............................................................. 989 ESTRUCTURA DE UNA PÁGINA MAESTRA ............................................... 989 Controles de usuario web ............................................................................... 994 Mejorar el aspecto de la interfaz .................................................................... 999 Temas y máscaras en ASP.NET ..................................................................... 1000 Perfiles ........................................................................................................... 1003 EJERCICIOS RESUELTOS ............................................................................... 1007 Base de datos .................................................................................................. 1008 Cliente web .................................................................................................... 1012 CAPÍTULO 20. AJAX ........................................................................................... 1021 FUNDAMENTOS DE AJAX ............................................................................. 1023 XMLHttpRequest ........................................................................................... 1024 AJAX con ASP.NET...................................................................................... 1032 GENERACIÓN DE CÓDIGO JAVASCRIPT ................................................... 1034 XXII ENCICLOPEDIA DE MICROSOFT VISUAL C# Fichero JavaScript .......................................................................................... 1035 Vincular un evento con una función JavaScript ............................................. 1035 Inyectar código JavaScript desde el lado del servidor ................................... 1037 ASP.NET AJAX ................................................................................................. 1038 Crear un sitio web ASP.NET AJAX ................................................................... 1039 Clase ScriptManager ...................................................................................... 1040 Clases ScriptManager y ScriptManagerProxy ............................................... 1048 Clase UpdatePanel ......................................................................................... 1048 Clase AsyncPostBackTrigger......................................................................... 1050 Clase UpdateProgress..................................................................................... 1051 Cancelar una llamada asíncrona ..................................................................... 1053 Clase Timer .................................................................................................... 1054 Servicios web ................................................................................................. 1054 Métodos de página ......................................................................................... 1058 EJERCICIOS RESUELTOS ............................................................................... 1061 PARTE 5. ACERCA DEL CD Y DE LOS APÉNDICES .... 1063 HERRAMIENTAS DE DESARROLLO.............................................................. 1065 PÁGINAS WEB ...................................................................................................... 1081 INTERNACIONALIZACIÓN .............................................................................. 1113 .NET PARA LINUX ............................................................................................... 1123 ÍNDICE ................................................................................................................... 1125