UNIVERSIDAD DON BOSCO

Anuncio
UNIVERSIDAD DON BOSCO
ASP.NET
HTTP Y CACHE
ALMACENAMIENTO CACHE
ASP.NET proporciona métodos útiles para controlar el almacenamiento en caché. Puede
utilizar la directiva @ OutputCache para controlar el resultado de la página el
almacenamiento en caché de ASP.NET.
Utilice la clase HttpCachePolicy para almacenar objetos arbitrarios, tales como conjuntos
de datos, a la memoria del servidor. Puede almacenar la memoria caché en aplicaciones
como el explorador del cliente, el servidor proxy y los servicios de Microsoft Internet
Information Services (IIS).
Mediante el uso de encabezado HTTP Cache-Control, puede controlar el almacenamiento
en caché.
Páginas de caché de ASP.NET
Puede almacenar en caché con la directiva @ OutputCache, o mediante programación a
través de código mediante Visual Basic .NET o Visual C#. NET. La directiva @
OutputCache contiene un atributo de ubicación. Este atributo determina la ubicación para
el elemento en caché. Puede especificar una de las siguientes ubicaciones:





cualquier - se almacena la caché de resultados en el explorador del cliente, en el
servidor proxy (o cualquier otro servidor) que participa en la solicitud o en el
servidor donde se procesó la solicitud. De forma predeterminada, cualquier está
activada.
cliente - se almacena la caché de resultados en el explorador del cliente.
descendente - se almacena la caché de resultados en cualquier dispositivo
compatible con caché (distintos del servidor de origen) que participan en la
solicitud.
servidor - se almacena la caché de resultados en el servidor Web.
Ninguno - este desactiva la caché de resultados.
Los siguientes son ejemplos de código para la directiva @ OutputCache y el código
equivalente mediante programación.
Esto quiere decir que puedo manejarlo con declaraciones o en el PageLoad con código.

Almacenar caché durante un tiempo específico.
Enfoque declarativo:
<%@ OutputCache Duration="60" VaryByParam="None" %>
Enfoque de programación:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
Response.Cache.SetCacheability(HttpCacheability.Public)

Almacenar caché en el cliente donde se originó solicitud.
Enfoque declarativo:
<%@ OutputCache Duration="60" Location="Client" VaryByParam="None" %>
Enfoque de programación:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
Response.Cache.SetCacheability(HttpCacheability.Private)

Almacenar caché en cualquier dispositivo compatible con HTTP
Enfoque declarativo:
<%@ OutputCache Duration="60" Location="Downstream"
VaryByParam="None" %>
Enfoque de programación:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
Response.Cache.SetCacheability(HttpCacheability.Public)
Response.Cache.SetNoServerCaching()

Almacenar caché de resultados en el servidor Web
Enfoque declarativo:
<%@ OutputCache Duration="60" Location="Server" VaryByParam="None" %>
Enfoque de programación:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
Response.Cache.SetCacheability(HttpCacheability.Server)

Almacenar en caché el resultado para cada solicitud HTTP que llega con una
ciudad diferente
Enfoque declarativo:
<%@ OutputCache duration="60" varybyparam="City" %>
Enfoque de programación:
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
Response.Cache.SetCacheability(HttpCacheability.Public)
Response.Cache.VaryByParams("City") = true
Para el atributo VaryByCustom , el atributo VaryByHeader y el
atributo VaryByParam en la directiva @ OutputCache , la
clase HttpCachePolicy suministra la propiedad VaryByHeaders y la
propiedad VaryByParams y el método SetVaryByCustom .
Ejercicios: Prueba de cache






Creo un Sitio Web nuevo y coloque el nombre de demo_cache.
Cree un webform con el nombre de prueba.
Pruebe colocando la frase declarativa “<%@ OutputCache Duration="60" VaryByParam="None" %>” a
partir de la segunda línea del archivo de html, y además cree un control html
label1.text en la página.
En el archivo de código en el pageload coloque la siguiente instrucción: Label1.Text =
"hora: " & DateTime.Now.TimeOfDay.ToString() y luego pruebe el archivo.
Refresque la página constantemente y note como realiza la actualización de los
datos.
Pruebe las demás formas de almacenamiento.
Caché objetos arbitrarios en memoria del servidor
ASP.NET incluye un mecanismo de almacenamiento en caché eficaz y fácil de usar que
puede utilizar para almacenar objetos que requieren gran cantidad de recursos de
servidor para crear en la memoria. La clase Cache implementa este método. Las instancias
son privadas para cada aplicación y la duración está vinculada a la aplicación
correspondiente. Para almacenar en caché los objetos arbitrarios en ASP.NET mediante la
clase de caché, analice los scritp de ejemplo, proporcionados por su docente.
Descargar