Professional Documents
Culture Documents
ndice
Descripcin 2
Leccin: uso del objeto Cache 3
Leccin: uso de la cach de resultados de ASP.NET 15
Leccin: configurar una aplicacin Web ASP.NET 25
Leccin: implementar una aplicacin Web ASP.NET 43
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 2
Descripcin
*****************************
Introduccin Una vez finalizado el desarrollo de nuestra aplicacin Web con Microsoft
ASP.NET, podemos implementarla en un servidor de produccin. Sin embargo,
antes de la implementacin, podramos optimizar la aplicacin Web para
mejorar su rendimiento.
Podemos optimizar e implementar a continuacin la aplicacin Web:
Configurando el objeto Cache y la cach de resultados para optimizar los
tiempos de respuesta de la aplicacin Web.
Organizando la configuracin de la aplicacin en los archivos
Machine.config y Web.config para soportar y proteger el sitio Web.
Seleccionando los archivos necesarios para ejecutar el sitio Web y
copindolos en el servidor de produccin.
Qu es el objeto Cache?
Ventajas de utilizar el objeto Cache
Cmo utilizar el objeto Cache
Eliminar elementos del objeto Cache
Demostracin: utilizar el objeto Cache
*****************************
Qu es el objeto Cache?
Cache["myKey"]
Cache["myKey"] == myValue;
myValue;
*****************************
Introduccin Un aspecto con el que nos encontraremos cuando generemos aplicaciones Web
de alto rendimiento es la necesidad de evitar duplicidad. Un objeto Cache
permite almacenar en cach elementos en memoria la primera vez que son
solicitados, y utilizar la copia en cach para posteriores peticiones. El uso de la
copia en cach evita volver a crear informacin que satisfizo una solicitud
anterior, especialmente informacin que exige un tiempo significativo del
procesador en el servidor cada vez que se crea.
Adems de almacenar en la cach elementos individuales, como los resultados
computacionales en el objeto Cache, ASP.NET ofrece una cach de resultados
que puede utilizarse para almacenar pginas Web y controles de usuario. El
objeto Cache y la cach de resultados son objetos distintos con roles y
propiedades nicos.
Un objeto utilizado para ASP.NET proporciona un motor de cach completo que puede utilizarse para
almacenar informacin almacenar y recuperar porciones de informacin. El objeto Cache no tiene
informacin sobre el contenido de los elementos que contiene. El objeto Cache
simplemente guarda una referencia a esos objetos y proporciona un proceso
para realizar el seguimiento de sus dependencias y establecer las polticas de
expiracin.
El objeto Cache tambin proporciona un mtodo para pasar valores entre
pginas de la misma aplicacin Web. Los mtodos de cach implementan un
bloqueo automtico; por tanto, existe seguridad al acceder a los valores
simultneamente desde ms de una pgina.
Cmo funciona el objeto El proceso para utilizar el objeto Cache es:
Cache
5 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
Un objeto Cache por ASP.NET crea un nico objeto Cache por cada aplicacin Web. Los elementos
aplicacin Web almacenados en el objeto Cache son exclusivos para la aplicacin Web y otras
aplicaciones Web ejecutndose en el mismo servidor o en otros servidores no
pueden acceder a ellos. En consecuencia, el uso del objeto Cache para
incrementar el rendimiento de la aplicacin Web no es escalable por encima del
nivel de una nica aplicacin Web.
El ciclo de vida de la cach es el mismo que el de la aplicacin Web. Cuando la
aplicacin Web se reinicia, la cach vuelve a crearse.
Almacenar variables El objeto Cache puede utilizarse para almacenar informacin que tambin
podra almacenarse en variables de aplicacin. En lugar de volver a crear el
valor cada vez que lo utilizamos, cualquier pgina de la aplicacin Web puede
acceder a un valor en la cach.
El objeto Cache no puede utilizarse para almacenar informacin que se
encuentra en variables de sesin. Las variables de sesin pueden almacenarse
en cookies, la URL (Uniform Resource Locator) de la pgina, o el control
ViewState oculto.
Utiliza pares clave-valor El objeto Cache utiliza pares clave-valor para almacenar y recuperar objetos.
La clave es la cadena de la clave de la cach utilizada para referenciar el objeto.
El valor es el objeto a almacenar en la cach. En el caso ms sencillo, ubicar un
elemento en la cach y recuperarlo es exactamente igual que agregar un
elemento a un diccionario.
Agregar un elemento a un objeto Cache:
Microsoft Cache("mykey") = myValue
Visual Basic .NET
C# Cache["mykey"] = myValue;
C# myValue = Cache["myKey"];
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 6
*****************************
Introduccin El objeto Cache proporciona una sencilla interfaz de diccionario que permite
insertar valores fcilmente y recuperarlos posteriormente. El uso del objeto
Cache para almacenar valores tiene varias ventajas.
Ms rpido que crear un Es mucho ms rpido recuperar un elemento almacenado en memoria que
nuevo objeto para cada volver a generarlo. Por ejemplo, un DataSet relleno con datos de un equipo
solicitud ejecutando Microsoft SQL Server debe volver a conectarse con el servidor
SQL Server por cada peticin de pgina. Ubicar el DataSet en el objeto Cache
facilita un acceso mucho ms rpido a esos datos.
Soporta bloqueo interno El objeto Cache proporciona una gestin automtica de bloqueos para los
elementos que se encuentran en la cach; por tanto, las peticiones simultneas
de un mismo elemento no pueden modificar el objeto. La gestin automtica de
bloqueos protege las transacciones en curso cuando se actualizan los elementos.
Administra ASP.NET elimina regularmente y de forma automtica elementos de la cach.
automticamente los Este borrado automtico constituye una mejora respecto a las versiones de
recursos de cach cach anteriores en las que el desarrollador tena que administrar manualmente
los recursos de la cach.
Soporte de funciones Las funciones callback son cdigo que se ejecuta cuando se elimina un
callback elemento de la cach. Por ejemplo, podemos utilizar una funcin callback para
insertar la ltima versin de un objeto en la cach tan pronto como se elimine la
versin antigua.
Soporta la eliminacin Si un elemento en una cach tiene una dependencia con otro elemento en la
basada en dependencias cach o en un archivo, podemos configurar el objeto Cache para que ese
elemento se elimine cuando la dependencia cumpla determinados
requerimientos. Por ejemplo, si almacenamos datos de un archivo XML en la
cach, podemos eliminarlos cuando cambie el documento XML.
7 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
'Explicit
'Explicit method
method
Cache.Insert("myKey",
Cache.Insert("myKey", myValue,
myValue, Dependency,
Dependency, AbsoluteExpiration,
AbsoluteExpiration, __
SlidingExpiration, CacheItemPriority, CacheItemRemovedCallBack)
SlidingExpiration, CacheItemPriority, CacheItemRemovedCallBack)
//Implicit
//Implicit method
method
Cache["myKey"]
Cache["myKey"] == myValue;
myValue;
//Explicit
//Explicit method
method
Cache.Insert("myKey",
Cache.Insert("myKey", myValue,
myValue, Dependency,
Dependency, AbsoluteExpiration,
AbsoluteExpiration,
SlidingExpiration,
SlidingExpiration, CacheItemPriority,
CacheItemPriority, CacheItemRemovedCallBack);
CacheItemRemovedCallBack);
*****************************
Introduccin Para utilizar el objeto Cache, utilizamos pares clave-valor para almacenar y
recuperar elementos. La clave es la cadena de la clave de Cache que se utiliza
para referenciar el elemento. El valor es el elemento que se va a almacenar en la
cach.
Escribir en el objeto Podemos escribir un elemento en un objeto Cache implcitamente, como
Cache muestra el siguiente cdigo:
Visual Basic .NET Cache("mykey") = myValue
C# Cache["mykey"] = myValue;
C# Cache.Insert("myKey", myValue,
Dependency, AbsoluteExpiration, SlidingExpiration,
CacheItemPriority, CacheItemRemovedCallBack);
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 8
Recuperar valores del Recuperar valores del objeto Cache es igual de fcil. nicamente debemos
objeto Cache proporcionar la clave correcta para recibir el valor.
El siguiente cdigo utiliza la clave myKey para recuperar el valor myValue y,
a continuacin, muestra myValue si no est vaco:
Visual Basic .NET myValue = Cache("mykey")
If myValue <> Nothing Then
DisplayData(myValue)
End If
C# myValue = Cache["mykey"];
if (myValue != null)
DisplayData(myValue);
9 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
Tiempo AbsoluteExpiration
DateTime.Now.AddMinutes(5)
DateTime.Now.AddMinutes(5)
Tiempo SlidingExpiration
TimeSpan.FromSeconds(20)
TimeSpan.FromSeconds(20)
*****************************
Introduccin El objeto Cache de ASP.NET est diseado para garantizar que no utiliza
demasiada memoria del servidor. Por ello, el objeto Cache elimina
automticamente los elementos menos utilizados cuando la memoria disponible
es escasa. Podemos influir en el modo como el objeto Cache almacena y
elimina los elementos, definiendo lmites de tiempo, dependencias y prioridades
para los elementos que se encuentran en el objeto Cache.
Los elementos del objeto Cache se eliminan tan pronto como se genera una
dependencia o un lmite de tiempo. Los intentos de recuperar los elementos
eliminados devolvern un valor null a menos que el elemento se agregue
nuevamente al objeto Cache.
AbsoluteExpiration Podemos definir la duracin mxima absoluta de un elemento utilizando el
parmetro AbsoluteExpiration. Este parmetro es un tipo de parmetro
DateTime que permite especificar el tiempo de expiracin del elemento.
El siguiente cdigo especifica que myValue se eliminar del objeto Cache
exactamente cinco minutos despus de su creacin:
Visual Basic .NET Cache.Insert("myKey", myValue, Nothing, _
DateTime.Now.AddMinutes(5), Nothing)
Dependencias En ocasiones, deseamos que un objeto sea eliminado del objeto Cache porque
un elemento de soporte, como un archivo, ha cambiado. ASP.NET permite
definir la validez de un elemento en cach, basndose en dependencias de
archivos u otro elemento en cach. Las dependencias basadas en directorios y
archivos externos se denominan dependencias de archivo, las dependencias
basadas en otro elemento en cach se denominan dependencias de clave. Si una
dependencia cambia, el elemento en cach se invalida y se elimina del objeto
Cache.
El siguiente cdigo especifica que myValue se eliminar del objeto Cache
cuando cambie el archivo myDoc.xml:
Visual Basic .NET Cache.Insert("myKey", myValue, _
new CacheDependency(Server.MapPath("myDoc.xml")))
Prioridad de elementos Cuando al servidor Web le queda poca memoria, el objeto Cache elimina, de
en Cache forma selectiva, elementos para liberar memoria del sistema. Los elementos que
tengan asignados valores de alta prioridad tienen una menor probabilidad de ser
eliminados de la cach; es ms probable que se eliminen los elementos que
tengan asignados valores de menor prioridad.
El siguiente cdigo especifica que myValue tiene una prioridad alta y debera
ser uno de los ltimos elementos eliminados del objeto Cache cuando la
memoria de servidor es limitada:
Visual Basic .NET Cache.Insert("myKey", myValue, Nothing, Nothing, _
Nothing, CacheItemPriority.High, onRemove)
Ejemplo de establecer El siguiente cdigo inserta un valor para MyBook en el objeto Cache con
los parmetros en varios argumentos de parmetros. La dependencia o el evento con tiempo de
Cache.Insert expiracin que ocurra antes ser el elemento eliminado del objeto Cache:
Eliminar el elemento 5 minutos despus de ser almacenado.
Eliminar el elemento 30 segundos despus del ltimo acceso.
Eliminar el elemento si cambia el archivo Books.xml.
Configurar una prioridad alta para el elemento para que se elimine el ltimo
en caso de que los recursos del servidor lleguen a ser un problema.
Cuando el elemento se elimine del objeto Cache, se ejecutar la funcin de
callback onRemove.
C# Cache.Insert("MyBook.CurrentBook", CurrentBook,
new CacheDependency(Server.MapPath("Books.xml")),
DateTime.Now.AddMinutes(5),
TimeSpan.FromSeconds(30),
CacheItemPriority.High, onRemove);
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 12
*****************************
Ejecutar la demostracin
Ejecutar sin 1. Abrir la pgina CacheTest.aspx.
almacenamiento en
cach 2. Mostrar la pgina de cdigo subyacente.
Observar que el DataSet lee un archivo XML y que el DataGrid est
relleno con el contenido del archivo XML.
3. Establecer el proyecto Demo13 como proyecto de Inicio, establecer la
pgina CacheTest.aspx como Pgina de inicio del proyecto, e visualizar la
pgina en Microsoft Internet Explorer.
*****************************
Introduccin Un factor que los desarrolladores deben tener en cuenta cuando desarrollan
aplicaciones Web de alto rendimiento es la necesidad de minimizar el tiempo de
respuesta para las peticiones de pginas. Si se almacena en memoria una
pgina, o partes de una pgina, la primera vez que se solicita, y a continuacin
se utiliza esa pgina almacenada, o las partes de la pgina, en posteriores
solicitudes, podemos evitar el tiempo de proceso necesario para crear la pgina
de nuevo.
En esta leccin, estudiaremos cmo configurar la cach de resultados para
minimizar los tiempos de respuesta de las pginas en una aplicacin Web.
Objetivos de la leccin En esta leccin, aprenderemos a:
Explicar porqu utilizar la cach de resultados.
Explicar los distintos tipos de cach de resultados.
Utilizar el almacenamiento en la cach de resultados de pginas.
Utilizar almacenamiento en la cach de resultados de fragmentos de
pginas.
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 16
*****************************
Introduccin En esta animacin, veremos cmo afecta la cach de resultados de pgina a los
tiempos de respuesta del servidor cuando se solicita un formulario Web Form
ASP.NET ms de una vez. Para iniciar la animacin abrir el fichero
media13.swf.
17 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
*****************************
C# [WebMethod(CacheDuration=300)]
public string CachedInfo()
{
...
}
Importante Crear una cach de resultados para una aplicacin debera ser la
ltima tarea en el desarrollo de una aplicacin Web. De lo contrario, cuando
depursemos las pginas, podramos obtener pginas obsoletas que estuviesen
almacenadas en la cach de resultados en lugar de obtener pginas nuevas y
modificadas.
19 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
<%@
<%@ OutputCache
OutputCache Duration="900"
Duration="900"
VaryByParam="none"
VaryByParam="none" %>
%>
*****************************
*****************************
Ejecutar la demostracin
Mostrar cmo una 1. Abrir la pgina OutputCache.aspx en el proyecto Mod15 en Visual Studio
pgina no almacenada .NET.
en cach cambia con
cada actualizacin 2. Mostrar el cdigo que obtiene la hora y fecha actuales, y muestra el cdigo
en una etiqueta.
3. Generar y examinar la pgina.
4. Volver a cargar la pgina varias veces consecutivamente para mostrar que
los segundos cambian.
Mostrar cmo una 5. Agregar la siguiente directiva a la pgina, tras la lnea de cdigo que
pgina almacenada en contiene la directiva de pgina.
cach no cambia con
cada actualizacin <%@ OutputCache Duration="10" VaryByParam="none"%>
*****************************
Introduccin Para almacenar en cach slo partes de una pgina, debemos aislar esas partes
del resto de la pgina insertndolas en un control de usuario. A continuacin,
almacenaremos en cach el control de usuario durante el periodo de tiempo que
especifiquemos. A este proceso se denomina almacenamiento en la cach de
fragmentos.
El almacenamiento en la cach de fragmentos permite separar las partes de una
pgina (como consultas a bases de datos, que requieren un valioso tiempo de
procesador) del resto de la pgina. Con el almacenamiento en cach de
fragmentos, podemos hacer que nicamente se generen dinmicamente para
cada peticin las partes de la pgina que requieren menos recursos del servidor,
o las partes de una pgina que deben crearse con cada peticin.
Los elementos que son buenos candidatos para el almacenamiento en la cach
de fragmentos incluyen encabezados, pies y listas desplegables que son
utilizados por mltiples pginas.
Convertir el fragmento Tras identificar las partes de la pgina que deseamos almacenar en cach,
en un control de usuario debemos crear controles de usuario que encapsulen cada uno de estos
fragmentos.
Establecer las Las polticas de almacenamiento en la cach para los controles de usuario,
propiedades Duration y como la duracin y el nmero de variaciones almacenadas, se establecen del
VaryByParam mismo modo que las polticas del almacenamiento en la cach de resultados de
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 24
*****************************
Archivo Machine.config
z Configuracin a nivel de equipo
Archivos Web.config
z Configuracin a nivel de aplicacin y directorio
Los archivos Machine.config y Web.config son:
z XML con un formato correcto
z Maysculas y minsculas Camel
z Extensibles
*****************************
*****************************
*****************************
(continuacin)
Nombre de seccin Descripcin
El archivo Web.config a
CONFIG
CONFIG nivel de aplicacin
hereda las opciones del
Machine.config archivo Machine.config
Las opciones en el
VirtualDir
VirtualDir archivo Web.config que
estn en conflicto anulan
las opciones heredadas
Web.config
Directorios individuales
SubDir
SubDir
pueden tener archivos
Web.config que heredan
Web.config
de (y pueden anular) las
opciones a nivel de
aplicacin
*****************************
Introduccin Cuando un servidor Web recibe una peticin para un determinado recurso Web,
ASP.NET determina las opciones de configuracin de ese recurso
jerrquicamente. ASP.NET utiliza todos los archivos de configuracin ubicados
en la ruta del directorio virtual para el recurso solicitado. La opcin de
configuracin de nivel ms bajo puede sobrecargar las opciones que
proporcionan los archivos de configuracin del directorio primario.
Las reglas de herencia para los archivos de configuracin son las siguientes:
Los archivos Web.config a nivel de aplicacin heredan las opciones del
archivo Machine.config.
Las opciones que crean conflicto en un archivo Web.config secundario
sobrecargan las opciones heredadas.
Directorios individuales pueden tener archivos Web.config que heredan de,
y pueden sobrecargar, las opciones del archivo Web.config a nivel de
aplicacin.
*****************************
Ejecutar la demostracin
Crear una subcarpeta 1. En Visual Studio .NET, mostrar el cdigo del archivo Web.config y
que contenga GetConfigMainFolder.aspx en la carpeta principal.
Web.config
Mostrar las diferencias Observar el valor almacenado en el archivo Web.config.
entre el Web.config 2. Mostrar el cdigo del archivo Web.config y GetConfigSubFolder.aspx en la
principal y el Web.config carpeta SubFolder.
de la subcarpeta
Observar que el valor almacenado en el archivo Web.config es distinto.
3. Generar y examinar la pgina GetConfigMainFolder.aspx, y resaltar el valor
que ha sido recuperado del archivo Web.config.
4. Hacer clic en Siguiente para abrir la pgina GetConfigSubFolder.aspx que
se encuentra en la carpeta SubFolder y destacar el hecho de que el valor
aqu es distinto.
Eliminar Web.config de 5. En la carpeta SubFolder, cambiar el nombre del archivo Web.config por
la subcarpeta y oldWeb.config.
actualizar el formulario
Web Form 6. Generar y examinar la pgina GetConfigMainFolder.aspx, y destacar el
valor que ha sido recuperado del archivo Web.config.
33 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
Los estudiantes:
z Determinar las opciones de configuracin
de una aplicacin Web basndonos en
distintas variables
Tiempo: 5 Minutos
*****************************
<configuration>
<appSettings>
<add key="Default XML File Name"
value="Default.xml" />
<add key="Default Text File Name"
value="Default.txt" />
</appSettings>
<authentication mode="Windows">
<forms name=".ASPXAUTH"
loginUrl="login.aspx"
protection="All"
timeout="30"
path="/">
</forms>
</authentication>
<system.web>
<trace
enabled="false"
localOnly="true"
pageOutput="false"
requestLimit="10"
traceMode="SortByTime"
/>
</system.web>
</configuration>
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 36
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
37 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 38
AppSettingsReader
AppSettingsReader App
App == new
new AppSettingsReader();
AppSettingsReader();
string
string strPubs
strPubs == (string)App.GetValue("pubs",
(string)App.GetValue("pubs",
typeof(string));
typeof(string));
*****************************
Recuperar las opciones Para recuperar las opciones de configuracin de la aplicacin de los archivos
de configuracin de la Web.config, se utiliza la coleccin de cadenas estticas
aplicacin de ConfigurationSettings.AppSettings.
Web.config
Por ejemplo, el siguiente cdigo de ejemplo lee el valor de la clave pubs en la
seccin <appSettings>:
Visual Basic .NET Dim strPubs As String = _
ConfigurationSettings.AppSettings("pubs")
*****************************
Introduccin Las propiedades dinmicas permiten configurar la aplicacin de forma que los
valores de sus propiedades se almacenen en un archivo de configuracin
externo, por ejemplo Web.config, en lugar de almacenarse en el cdigo
compilado de la aplicacin. Almacenar en un archivo de configuracin externo
puede reducir el coste total de mantenimiento de una aplicacin, una vez que
haya sido implementada, al proporcionar a los administradores los medios para
actualizar valores de propiedades que pueden cambiar con el tiempo.
Almacenar los valores Aunque las propiedades de la mayora de componentes y controles de una
de las propiedades en aplicacin Web pueden gestionarse dinmicamente, este tipo de gestin es ms
Web.config conveniente para algunas propiedades que para otras. Por ejemplo,
probablemente utilizaremos propiedades dinmicas para almacenar y recuperar
las propiedades que estn conectadas a recursos externos que podran cambiar,
como bases de datos.
Permite actualizaciones Por ejemplo, supongamos que estamos generando una aplicacin Web que
sencillas utiliza una base de datos de prueba durante el proceso de desarrollo y debemos
trasladar la aplicacin Web a una base de datos en produccin cuando la
implementemos. Si almacenamos los valores de las propiedades en la
aplicacin Web, deberemos cambiar manualmente toda la configuracin de la
base de datos para poder implementar la base de datos, y deberemos recompilar
el cdigo fuente. Si almacenamos los valores de estas propiedades
externamente, podremos realizar un solo cambio en el archivo externo y la
aplicacin Web utilizar los nuevos valores la prxima vez que se ejecute.
Habilitar y configurar las Configuramos un objeto para utilizar propiedades dinmicas en la ventana
propiedades del objeto Propiedades del objeto en Visual Studio .NET. Seleccionar la casilla de
verificacin DynamicProperties en la seccin de configuracin de la ventana
Propiedades, y establecer la propiedad en una clave en Web.config.
41 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
*****************************
Ejecutar la demostracin
Configurar un objeto 1. Abrir la pgina DataAccess.aspx del proyecto Mod15VB o Mod15CS en
SqlConnection para Visual Studio .NET.
utilizar propiedades
dinmicas 2. Seleccionar el objeto SqlConnection y visualizar la ventana Propiedades.
3. Expandir la propiedad DynamicProperties.
Observar que la propiedad ConnectionString puede ser una propiedad
dinmica.
4. Seleccionar la propiedad ConnectionString y hacer clic en el botn ....
5. En el cuadro de dilogo Propiedad dinmica, convertir la propiedad en una
propiedad dinmica con el nombre de clave predeterminado seleccionando
Asignar la propiedad a una clave en el archivo de configuracin, y hacer
clic en Aceptar.
6. En la ventana Propiedades, observar el glifo azul junto a la propiedad
<original> ConnectionString del objeto SqlConnection. El glifo indica
que es una propiedad dinmica.
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 42
Mostrar el cdigo que se 7. Visualizar el cdigo que acaba de generarse en la pgina de cdigo
ha generado subyacente y buscar la lnea de cdigo que establece la propiedad
ConnectionString del objeto SqlConnection:
Visual Basic .NET Me.SqlConnection1.ConnectionString = _
CType(configurationAppSettings.GetValue _
("SqlConnection1.ConnectionString", _
GetType(System.String)), String)
C# this.SqlConnection1.ConnectionString =
((string)(configurationAppSettings.GetValue("SqlConnection1
.ConnectionString", typeof(string))));
*****************************
*****************************
Copiar todos los Para ejecutar la aplicacin Web en el directorio de produccin, nicamente se
archivos necesarios necesita un subconjunto de los archivos requeridos para generar una aplicacin
Web. El paso final antes de copiar la aplicacin Web sera generar la aplicacin
Web y eliminar todos los archivos innecesarios.
Como las aplicaciones que se ejecutan bajo el CLR son autodescriptivas y no
requieren entradas de registro, no necesitamos registrar componentes antes o
despus de copiar archivos. La aplicacin Web est preparada para aceptar
peticiones despus de ser copiada a una carpeta que se ha configurado en IIS
como un directorio de aplicacin Web.
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 46
*****************************
Introduccin Hay tres pasos importantes que son necesarios para trasladar la aplicacin Web
desde el entorno de desarrollo a un directorio o servidor en produccin:
1. Generar la aplicacin Web.
2. Eliminar todos los archivos innecesarios de la aplicacin Web.
3. Copiar los archivos en el entorno de produccin.
Generar la aplicacin El primer paso es generar, o compilar, la aplicacin Web. Esta compilacin
crea un archivo DLL (dynamic-link library) en el directorio \bin que contiene
todo el cdigo de la aplicacin Web. Se crea un archivo NombreAplicacin.dll
por cada aplicacin Web; este archivo contiene el cdigo de todos los recursos
y archivos de cdigo subyacente.
No seleccionar archivos El segundo paso en la implementacin de una aplicacin Web es seleccionar
innecesarios nicamente los archivos necesarios del directorio que contiene la aplicacin
Web. Al no copiar archivos innecesarios, se incrementa la seguridad del
entorno de produccin limitando la exposicin de cdigo no compilado.
47 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
Copiar o utilizar FTP Una vez compilada la aplicacin Web y eliminados todos los archivos
innecesarios, debemos utilizar FTP o copiar en el directorio de produccin
nicamente los archivos restantes de la aplicacin Web del directorio de
desarrollo.
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 48
Los estudiantes:
z Seleccionarn los archivos necesarios
para una implementacin
Tiempo: 5 Minutos
*****************************
.vbproj .csproj
.vbproj.webinfo .csproj.webinfo
.resx .resx
.dll .dll
.aspx .aspx
directorio \bin y contenido directorio \bin y contenido
.aspx.vb .aspx.cs
.csproj .vbproj
Global.asax Global.asax
.exe .exe
.ascx .ascx
.xml .xml
Web.config Web.config
49 Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET
*****************************
Introduccin Los equipos que tengan instalado el .NET Framework tambin tienen una cach
de cdigo a nivel de equipo denominada Cach de Ensamblados Global (Global
Assembly Cache - GAC). Despus de implementar nuestra aplicacin Web en
un servidor Web en produccin, podemos utilizar la GAC para compartir
cdigo entre las aplicaciones Web en el servidor Web.
Almacenamiento para Aunque el objeto Cache de ASP.NET se utiliza para el almacenamiento de
ensamblados que deben informacin a corto plazo de una aplicacin Web, la GAC puede utilizarse para
compartirse compartir cdigo en todo el servidor Web. La GAC almacena ensamblados
diseados especficamente para ser compartidos por varias aplicaciones Web en
un servidor. Un ensamblado es una coleccin de recursos en un nico archivo
(por ejemplo, un archivo dll).
Existen varios motivos para instalar un ensamblado en la GAC, incluyendo:
Ubicacin compartida
Los ensamblados utilizados por mltiples aplicaciones pueden incluirse en
la GAC.
Seguridad de archivos
La GAC se encuentra en el directorio WINNT, que normalmente tiene
restricciones de acceso a su contenido.
Versionado lado a lado
Mltiples copias de ensamblados con el mismo nombre, pero con diferente
informacin de versin, pueden mantenerse en la GAC.
Configurar, optimizar e implementar una aplicacin Web con Microsoft ASP.NET 50
*****************************
Introduccin Una vez que nuestra aplicacin Web se est ejecutando en un directorio en
produccin, podemos actualizar la aplicacin Web en cualquier momento sin
necesidad de volver a iniciar el servidor, IIS o la aplicacin Web.
Copiar o FTP archivos Con ASP.NET, cuando tenemos una nueva versin de la aplicacin Web,
nicamente necesitamos copiar los nuevos archivos en el directorio,
sobrescribiendo los archivos existentes. Cuando el siguiente usuario se conecta
a nuestra aplicacin Web, recibe los archivos ms actualizados. A diferencia de
versiones anteriores de Active Server Pages (ASP), actualizar un sitio Web
ASP.NET no requiere que detengamos y volvamos a iniciar IIS.
La cach de resultados Si deshabilitamos el almacenamiento en cach de resultados de pginas para los
protege a los usuarios formularios Web Forms, los usuarios seguirn recibiendo las versiones antiguas
existentes de las pginas hasta que venza la cach. Cuando expiren las pginas en cach,
los usuarios recibirn una versin actualizada de esa pgina.