This article is currently in the process of being translated into Spanish (~42% done).
OutputCache - more examples
En el capítulo anterior revisamos cómo usar la directiva OutputCache para crear la caché de nuestra página fácilmente. En este capítulo veremos otras formas de usar OutputCache. Usamos varybyparam en el anterior ejemplo, pero también puedes variar tu caché con otros factores. Aquí hay una lista y algunos ejemplos.
OutputCache - varybyparam
Por favor, vea el capítulo anterior para más información sobre el parámetro varybyparam
OutputCache - varybycontrol
The varybycontrol does exactly what it says - it varies the cache depending on the value of the specified control. For instance, you can have a dropdownlist with a set of selections, and base the content of the page based on the selected item. In that case, it will make sense to vary by the value of this control, since the content of the page changes according to it. Here is an example of using the varybycontrol parameter:
<%@ OutputCache duration="10" varybyparam="none" varybycontrol="NameOfControl" %>
OutputCache - varybycustom
Este es probablemente la última manera fácil de usar el sistema de cache de salida 'OutputCache', pero por otro lado, probablemente el mas flexible. Te permite manipular las variaciones a ti mismo, estableciendo una cadena personalizada, por la cual ASP.NET variará la salida. Para probar, necesitas agregar un archivo global.asax a tu proyecto, si no lo tienes, da 'click' en tu proyecto en el Explorador de Soluciones, y selecciona Agregar un elemento nuevo. Ahora selecciona la clase de aplicación global 'Global Application Class' y das 'click' en Aceptar, En el archivo Global.asax, necesitas sobre escribir el 'GetVaryByCustomString' así como esto:
public override string GetVaryByCustomString(HttpContext context, string custom)
{
if(custom == "Browser")
{
return context.Request.Browser.Browser;
}
return String.Empty;
}
In this case, our caching will be varied based on which browser the user accesses the page with. The markup part should be written like this:
<%@ OutputCache duration="120" varybyparam="None" varybycustom="Browser" %>
Try accessing the page from different browsers. You will see that the output now depends on which browser you use. The Browser object comes with a bunch of useful information about the client browser - for instance you could vary by whether or not the browser supports CSS, JavaScript or something else.
OutputCache - varybyheader
This one allows you to vary the content based on one or more of the headers that browser send. Here is an example:
<%@ OutputCache duration="120" varybyparam="None" varybyheader="Accept-Language" %>
This will vary cache based on the Accept-Language header, which tells the server which languages the user accepts and prefers.