Caché de Páginas

15/03/2006 - 12:59 por solusoft | Informe spam
Hola,

estamos en un proyecto asp.net 1.1 en el que queremos cachear la página de
portada del sitio web, para mejorar el tiempo de carga.

Qué consideraciones debería tener ?

He visto que existe esta directiva, con esto me bastaría ?
<% @OutputCache Duration="300" VaryByParam="none" %>

También he visto alguna página que incluye esto:

<%
// Indica el uso del caché de salida en el servidor
Response.Cache.SetCacheability(HttpCacheability.Server);
// Indica que la página seguirá siendo válida durante diez segundos
Response.Cache.SetExpires(DateTime.Now.AddSeconds(300));
%>

Cuál debería emplear ? Probé sin Output y no cacheaba la página. Se supone
que hay que poner la directiva Output ?.

Un saludo y gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Misael Monterroca
15/03/2006 - 17:55 | Informe spam
Qué consideraciones debería tener ?



El mas importante es el tiempo de invalidez del cache, por ejemplo, si tu
pagina accede constantemente a base de datos, pero la información cambia de
manera "constante" cada 3 horas, pues entonces tu tiempo de invalidez
podrian ser esas 3 horas, sin embargo, si no tienes un tiempo esperado,
entonces tu tiempo de invalidez podria ser cada 5 min para asegurarte que al
menos, cada 5 minutos tendras la información actualizada.

Si estuviera utilizando Asp.Net 2.0 podrias utilizar SqlCacheDependency con
lo cual está invalidez sea automatica cuando se realize un cambio de
información dentro de la base de datos, aún cuando en Asp.Net 2.0 existe
como caracteristica, aqui te dejo un url en donde se explica como realizar
una implementación "manual"

He visto que existe esta directiva, con esto me bastaría ?
<% @OutputCache Duration="300" VaryByParam="none" %>



Iep, te es más que suficiente, VaryByParam especifica que tu página tendra
una versión en cache dependiendo de los parametros que reciba tu pagína, es
decir

http:www.tusitio.com?id=5
http:www.tusitio.com?id=6
http:www.tusitio.com?id=7

Id en este caso está funcionando como un parametro, al especificar
VaryByParam="id" se realizara tendras en cache 3 pagínas en lugar de una
sola, ya que se se entiende que a partir de los parametros la información
que estarias desplegando es diferente


También he visto alguna página que incluye esto:

<%
// Indica el uso del caché de salida en el servidor
Response.Cache.SetCacheability(HttpCacheability.Server);
// Indica que la página seguirá siendo válida durante diez segundos
Response.Cache.SetExpires(DateTime.Now.AddSeconds(300));
%>



Hace lo "mismo" que la directiva, pero la están especificado
programaticamente


Cuál debería emplear



Si el tiempo de cache lo piensas emplear "dinamicamente" utiliza la segunda
opción ya que de manera programatica se haria la asignaciónl, si el cache
es "fijo" pues entonces utiliza la primera.

Saludos!
Misael Monterroca - Microsoft Mvp C#
http://www.neo-mx.com/blogs/neo-mx
Respuesta Responder a este mensaje
#2 Misael Monterroca
15/03/2006 - 17:56 | Informe spam
Se me olvido poner el url.

http://www.ondotnet.com/pub/a/dotne...dency.html


Saludos!
Misael Monterroca - Microsoft Mvp C#
http://www.neo-mx.com/blogs/neo-mx
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida