Almacenar en memoria caché varias versiones de una página
Actualización: noviembre 2007
En alguna ocasión, quizá pueda tener una página que desee almacenar en memoria caché, pero para la que se crean versiones diferentes basadas en la solicitud. Por ejemplo, puede que la página tenga resultados diferentes en función de los valores pasados en la cadena de consulta.
ASP.NET le permite almacenar en memoria caché varias versiones de la misma página en la caché de resultados. Puede variar la caché de resultados mediante:
La cadena de consulta en una solicitud inicial (HTTP GET).
Los valores de control pasados de devolución de datos (valores HTTP POST).
Los encabezados HTTP pasados con solicitud.
El número de versión principal del explorador que realiza la solicitud.
Una cadena personalizada en la página. En este caso, cree el código personalizado en el archivo Global.asax para especificar que la página está almacenando el comportamiento en la memoria caché.
Puede guardar en la caché varias versiones del resultado de una página declarativamente mediante los atributos de la directiva @ OutputCache y mediante programación usando las propiedades y los métodos de la clase HttpCachePolicy.
La directiva @ OutputCache incluye cuatro atributos que le permiten almacenar varias versiones de los resultados de una página en la memoria caché:
El atributo VaryByParam le permite variar el resultado almacenado en la memoria caché en función de la cadena de consulta.
El atributo VaryByControl le permite variar el resultado almacenado en la memoria caché dependiendo de un valor de control.
El atributo VaryByHeader le permite variar el resultado almacenado en la memoria caché en función del encabezado HTTP de la solicitud.
El atributo VaryByCustom le permite variar el resultado almacenado en la caché dependiendo del tipo de explorador o de una cadena personalizada que se haya definido.
Nota: Debe incluir los atributos VaryByParam o VaryByControl de cualquier directiva @ OutputCache. Sin embargo, si no debe variar el resultado almacenado en la memoria caché por el control o los parámetros, puede definir VaryByParam estableciendo su valor en None.
La clase HttpCachePolicy proporciona dos propiedades y un método que le permiten especificar mediante programación la misma configuración de la caché que puede establecer declarativamente. Las propiedades VaryByParams y VaryByHeaders le permiten especificar los nombres de parámetros de cadena y de encabezado, respectivamente, por los que desee variar la directiva de la memoria caché. El método SetVaryByCustom le permite definir las cadenas personalizadas que determinarán la respuesta de la caché de resultados.
Vea también
Tareas
Cómo: Establecer el almacenamiento en caché de una página ASP.NET mediante declaración
Cómo: Establecer el almacenamiento en caché de una página mediante programación
Cómo: Almacenar en caché versiones de una página utilizando parámetros
Cómo: Almacenar en memoria caché versiones de una página mediante encabezados HTTP
Cómo: Almacenar en caché versiones de una página utilizando cadenas personalizadas