13. Configuracion De Aplicaciones Web Asp.Net

30
Configurar, optimizar e implementar una aplicación Web Microsoft ASP.NET

description

 

Transcript of 13. Configuracion De Aplicaciones Web Asp.Net

Page 1: 13.  Configuracion De Aplicaciones Web Asp.Net

Configurar, optimizar e implementar una aplicación Web

Microsoft ASP.NET

Page 2: 13.  Configuracion De Aplicaciones Web Asp.Net

Descripción

Uso del objeto Cache

Uso de la caché de resultados ASP.NET

Configurar una aplicación Web ASP.NET

Implementar una aplicación Web ASP.NET

Page 3: 13.  Configuracion De Aplicaciones Web Asp.Net

Lección: uso del objeto Cache

¿Qué es el objeto Cache?

Ventajas de utilizar el objeto Cache

Cómo utilizar el objeto Cache

Eliminar elementos del objeto Cache

Demostración: utilizar el objeto Cache

Page 4: 13.  Configuracion De Aplicaciones Web Asp.Net

¿Qué es el objeto Cache?

Un objeto utilizado para almacenar información

Un objeto Cache por aplicación Web

Una alternativa a las variables de aplicación

No se utiliza para almacenar información en variables de sesión

Utiliza pares clave-valor para almacenar y recuperar elementos

Cache("myKey") = myValueCache("myKey") = myValue

Cache["myKey"] = myValue;Cache["myKey"] = myValue;

Page 5: 13.  Configuracion De Aplicaciones Web Asp.Net

Ventajas de utilizar objeto Cache

Es más rápido que crear un nuevo objeto para cada petición

Soporta el bloqueo interno

Administración automática de los recursos de caché

Soporta funciones callback

Soporta el borrado basado en dependencias

Page 6: 13.  Configuracion De Aplicaciones Web Asp.Net

Cómo utilizar el objeto Cache

Escribir en el objeto Cache:

Recuperar valores del objeto Cache:

myValue = Cache("myKey")myValue = Cache("myKey")

'Implicit methodCache("myKey") = myValue

'Explicit methodCache.Insert("myKey", myValue, Dependency, AbsoluteExpiration, _ SlidingExpiration, CacheItemPriority, CacheItemRemovedCallBack)

'Implicit methodCache("myKey") = myValue

'Explicit methodCache.Insert("myKey", myValue, Dependency, AbsoluteExpiration, _ SlidingExpiration, CacheItemPriority, CacheItemRemovedCallBack)

//Implicit methodCache["myKey"] = myValue;

//Explicit methodCache.Insert("myKey", myValue, Dependency, AbsoluteExpiration, SlidingExpiration, CacheItemPriority, CacheItemRemovedCallBack);

//Implicit methodCache["myKey"] = myValue;

//Explicit methodCache.Insert("myKey", myValue, Dependency, AbsoluteExpiration, SlidingExpiration, CacheItemPriority, CacheItemRemovedCallBack);

myValue = Cache["myKey"];myValue = Cache["myKey"];

Page 7: 13.  Configuracion De Aplicaciones Web Asp.Net

Eliminar elementos del objeto Cache

Tiempo AbsoluteExpiration

Tiempo SlidingExpiration

Depende de un valor modificado

Prioridad del elemento en caché

DateTime.Now.AddMinutes(5)DateTime.Now.AddMinutes(5)

TimeSpan.FromSeconds(20)TimeSpan.FromSeconds(20)

AddCacheItemDependency("Variable.Value")

AddCacheItemDependency("Variable.Value")

CacheItemPriority.High CacheItemPriority.High

Page 8: 13.  Configuracion De Aplicaciones Web Asp.Net

Demostración: uso del objeto Cache

Ejecutar la página CacheTest.aspx sin el objeto Cache habilitado

Ejecutar la página CacheTest.aspx con el objeto Cache habilitado

Ejecutar la página CacheTest.aspx con el objeto Cache habilitado y con una dependencia

Page 9: 13.  Configuracion De Aplicaciones Web Asp.Net

Lección: uso de la caché de resultados de ASP.NET

Multimedia: caché de resultados

Tipos de caché de resultados

Cómo utilizar la caché de resultados de páginas

Demostración: caché de resultados de páginas

Cómo utilizar la caché de fragmentos de páginas

Page 10: 13.  Configuracion De Aplicaciones Web Asp.Net

Multimedia: caché de resultados

Page 11: 13.  Configuracion De Aplicaciones Web Asp.Net

Tipos de caché de resultados

Almacenamiento en caché de páginas

Almacenamiento en caché de fragmentos de páginas como controles de usuario

Almacenamiento en caché de servicios Web XML

Page 12: 13.  Configuracion De Aplicaciones Web Asp.Net

Cómo utilizar la caché de resultados de páginas

El contenido de la caché se genera desde páginas dinámicas

Toda la página Web está disponible en la caché

Establecer la duración de la caché en segundos

Establecer la propiedad VaryByParam para controlar el número de variaciones de página en la caché

<%@ OutputCache Duration="900" VaryByParam="none" %>

<%@ OutputCache Duration="900" VaryByParam="none" %>

Page 13: 13.  Configuracion De Aplicaciones Web Asp.Net

Demostración: caché de resultados de páginas

Mostrar cómo una página no almacenada en la caché cambia con cada actualización

Mostrar cómo una página almacenada en la caché no cambia con cada actualización

Mostrar cómo cambiar un parámetro puede provocar que una nueva página se almacene en la caché

Page 14: 13.  Configuracion De Aplicaciones Web Asp.Net

Cómo utilizar la caché de fragmentos de páginas

Convertir el fragmento de página en un control de usuario

Establecer las propiedades Duration y varyByParam

<%@ OutputCache Duration="120" VaryByParam="none" %>

<%@ OutputCache Duration="120" VaryByParam="none" %>

Page 15: 13.  Configuracion De Aplicaciones Web Asp.Net

Lección: configurar una aplicación Web ASP.NET

Descripción de los métodos de configuración

Configurar un servidor Web utilizando Machine.config

Configurar una aplicación utilizando Web.config

Descripción de la herencia de configuración

Demostración: herencia de configuración

Práctica: determinar la herencia de configuración

Almacenar y recuperar datos en Web.config

Uso de propiedades dinámicas

Demostración: uso de propiedades dinámicas

Page 16: 13.  Configuracion De Aplicaciones Web Asp.Net

Descripción de los métodos de configuración

Archivo Machine.config

Configuración a nivel de equipo

Archivos Web.config

Configuración a nivel de aplicación y directorio

Los archivos Machine.config y Web.config son:

XML con un formato correcto

Mayúsculas y minúsculas Camel

Extensibles

Page 17: 13.  Configuracion De Aplicaciones Web Asp.Net

Configurar un servidor Web utilizando Machine.config

Las opciones de configuración en el archivo Machine.config afectan a todas las aplicaciones Web del servidor

Un único archivo Machine.config por servidor Web

La mayoría de opciones de configuración pueden sobrecargarse a nivel de aplicación utilizando archivos Web.config

Page 18: 13.  Configuracion De Aplicaciones Web Asp.Net

Configurar una aplicación utilizando Web.config

Uno o más archivos Web.config por aplicación Web

Los archivos Web.config contienen toda la información de configuración de la aplicación

Contienen una sección por cada categoría principal de funcionalidad ASP.NET

Seguridad

Modo

Configuración general de la aplicación

Seguimiento

Page 19: 13.  Configuracion De Aplicaciones Web Asp.Net

Descripción de la herencia de configuración

El archivo Web.config a nivel de aplicación hereda las opciones del archivo Machine.config

Las opciones en el archivo Web.config que están en conflicto anulan las opciones heredadas

Directorios individuales pueden tener archivos Web.config que heredan de (y pueden anular) las opciones a nivel de aplicación

Machine.config

Web.config

Web.config

CONFIGCONFIG

VirtualDirVirtualDir

SubDirSubDir

Page 20: 13.  Configuracion De Aplicaciones Web Asp.Net

Demostración: herencia de configuración

Crear una subcarpeta que contenga un archivo Web.config

Mostrar las diferencias entre el archivo Web.config principal y el archivo Web.config de la subcarpeta

Mostrar cómo el formulario Web Form lee información de los archivos Web.config

Eliminar el archivo Web.config de la subcarpeta y actualizar el formulario Web Form

Page 21: 13.  Configuracion De Aplicaciones Web Asp.Net

Práctica: determinar la herencia de configuración

Los estudiantes:

Determinar las opciones de configuración de una aplicación Web basándonos en distintas variables

Tiempo: 5 Minutos

Page 22: 13.  Configuracion De Aplicaciones Web Asp.Net

Almacenar y recuperar datos en Web.config

Almacenar la configuración de la aplicación en un archivo Web.config

Recuperar la configuración de la aplicación de un archivo Web.config

<configuration> <appSettings> <add key="pubs" value="server=localhost; integrated security=true; database=pubs"/> </appSettings></configuration>

<configuration> <appSettings> <add key="pubs" value="server=localhost; integrated security=true; database=pubs"/> </appSettings></configuration>

Dim strPubs As String = _ConfigurationSettings.AppSettings("pubs")

Dim strPubs As String = _ConfigurationSettings.AppSettings("pubs")

AppSettingsReader App = new AppSettingsReader();

string strPubs = (string)App.GetValue("pubs", typeof(string));

AppSettingsReader App = new AppSettingsReader();

string strPubs = (string)App.GetValue("pubs", typeof(string));

Page 23: 13.  Configuracion De Aplicaciones Web Asp.Net

Uso de propiedades dinámicas

Almacenar los valores de las propiedades en archivos Web.config en lugar de almacenarlos en el código compilado de la aplicación

Permite actualizaciones sencillas sin recompilar la aplicación

Habilitar y configurar las propiedades en el objeto

Page 24: 13.  Configuracion De Aplicaciones Web Asp.Net

Demostración: uso de propiedades dinámicas

Configurar un objeto SqlConnection para utilizar propiedades dinámicas

Mostrar el código que acaba de generarse en la página de código subyacente

Abrir el archivo Web.config y mostrar la clave SqlConnection1.ConnectionString en la sección appSettings

Page 25: 13.  Configuracion De Aplicaciones Web Asp.Net

Lección: implementar una aplicación Web ASP.NET

Implementar una aplicación Web

Preparar una aplicación Web para su implementación

Práctica: seleccionar los archivos necesarios

Compartir ensamblados en la caché de ensamblados global

Actualizar la aplicación Web

Page 26: 13.  Configuracion De Aplicaciones Web Asp.Net

Implementar una aplicación Web

Copiar archivos localmente o archivos FTP remotamente

Configurar la carpeta de destino como un directorio virtual en IIS

Copiar todos los archivos necesarios, incluyendo el directorio \bin y su contenido

No es necesario registrar componentes

Page 27: 13.  Configuracion De Aplicaciones Web Asp.Net

Preparar una aplicación Web para su implementación

1. Generar la aplicación Web

2. No seleccionar archivos innecesarios

Archivos de solución de Visual Studio .NET (.vbproj, .vbproj.webinfo, .csproj, .csproj.webinfo, etc.)

Archivos de recursos (.resx)

Páginas de código subyacente (.vb, .cs)

3. Copiar o FTP archivos necesarios en el directorio de producción

Page 28: 13.  Configuracion De Aplicaciones Web Asp.Net

Práctica: seleccionar los archivos necesarios

Los estudiantes:

Seleccionarán los archivos necesarios para una implementación

Tiempo: 5 Minutos

Page 29: 13.  Configuracion De Aplicaciones Web Asp.Net

Compartir ensamblados en la caché de ensamblados global

La caché de ensamblados global proporciona el almacenamiento para los ensamblados que deben compartirse

Caché para código a nivel de equipo

Los archivos DLL no están registrados, por ello, no se comparten fácilmente entre aplicaciones Web

Page 30: 13.  Configuracion De Aplicaciones Web Asp.Net

Actualizar la aplicación Web

Copiar o FTP archivos para actualizar la aplicación Web

No es necesario detener y volver a iniciar IIS

Los archivos .dll pueden actualizarse mientras el sitio sigue ejecutándose

La caché de resultados protege a los usuarios existentes