Cómo: Almacenar en caché versiones de una página utilizando cadenas personalizadas
Actualización: noviembre 2007
Además de variar la caché de resultados por tipo de explorador y parámetros, puede almacenar en caché varias versiones del resultado de una página basadas en las diferentes cadenas devueltas por un método definido.
Cuando se almacenan páginas en caché en función de las cadenas personalizadas, se especifica primero un identificador que debe utilizar la cadena personalizada. A continuación, se crea un método en el archivo Global.asax de la aplicación que acepta el identificador y devuelve un valor por el que se debe variar la caché de resultados.
Para almacenar en caché varias versiones del resultado de una página en función de cadenas personalizadas
En la página ASP.NET, incluya una directiva @ OutputCache con los atributos Duration y VaryByParam requeridos. El atributo Duration debe ser un valor entero mayor que cero. Si no desea emplear la funcionalidad que proporciona el atributo VaryByParam, establezca su valor en "None".
Para definir la cadena personalizada de forma declarativa, en la directiva @ OutputCache, incluya el atributo VaryByCustom establecido en la cadena por la que se desea variar la caché de resultados.
La directiva siguiente almacena distintas versiones de la página basadas en la cadena personalizada "minorversion".
<%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="minorversion" %>
Para establecer la cadena personalizada mediante programación, llame al método SetVaryByCustom y pásele la cadena personalizada que debe utilizar.
El ejemplo de código siguiente muestra cómo establecer la cadena personalizada en "minorversion".
Response.Cache.SetVaryByCustom("minorversion");
Response.Cache.SetVaryByCustom("minorversion")
En el archivo Global.asax de la aplicación, reemplace el método GetVaryByCustomString para especificar el comportamiento de la caché de resultados para la cadena personalizada.
Como parámetro arg, el método reemplazado acepta la cadena establecida en el atributo VaryByCustom o en el método SetVaryByCustom. Por ejemplo, puede haber páginas que se almacenan en caché por la versión secundaria del explorador que realizó la solicitud. En estas páginas, puede establecer el atributo VaryByCustom en "minorversion". A continuación, en el método GetVaryByCustomString reemplazado, puede comprobar el parámetro arg y devolver diferentes cadenas dependiendo de si el valor del parámetro arg es "minorversion".
El ejemplo de código siguiente muestra un archivo Global.asax con un reemplazo del método GetVaryByCustomString.
<%@ Application language="C#" %> <script > public override string GetVaryByCustomString(HttpContext context, string arg) { if(arg == "minorversion") { return "Version=" + context.Request.Browser.MinorVersion.ToString(); } else { return ""; } } </script>
<script > Public Overrides Function GetVaryByCustomString(context _ As HttpContext, arg As String) As String If (arg = "minorversion") Then Return "Version=" & _ context.Request.Browser.MinorVersion.ToString() Else Return "" End If End Function </script>
Vea también
Tareas
Cómo: Establecer el almacenamiento en caché de una página ASP.NET mediante declaración
Conceptos
Almacenar en caché páginas ASP.NET