Como: Cache Versions of a página Using Custom Strings

Além disso, para variar o cache de saída pelo tipo de navegador e parâmetros, você pode armazenar em cache várias versões de saída da página com base em diferentes sequências retornadas pelo método que você definir.

Quando você armazena em cache páginas baseadas em sequências personalizadas, você primeiro especifica um identificador para a sequência personalizada a ser usada.Você então criar um método no arquivo Global.asax do aplicativo que aceita o identificador e retorna um valor para variar o cache de saída.

Armazenar em cache várias versões de saída da página com base em sequências personalizadas

  1. In the ASP.NET page, include an @ OutputCache directive with the required Duration and VaryByParam attributes.The Duration attribute must be set to an integer greater than zero.If you do not want to use the functionality provided by the VaryByParam attribute, you must set its value to "None".

  2. To set the custom string declaratively, in the @ OutputCache directive, include the VaryByCustom attribute that is set to the string that you want to vary the output cache by.

    The following directive varies the page output by the custom string "minorversion".

    <%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="minorversion" %>
    
  3. To set the custom string programmatically, call the SetVaryByCustom method and pass it the custom string to use.

    O exemplo de código a seguir mostra como definir a sequência personalizada para &quot; minorversion &quot;.

    Response.Cache.SetVaryByCustom("minorversion");
    
    Response.Cache.SetVaryByCustom("minorversion")
    
    Observação:

    If you attempt to set the custom string both programmatically and declaratively, you will get an InvalidOperationException.You need to choose one approach or the other.

  4. In the application's Global.asax file, override the GetVaryByCustomString method to specify the behavior of the output cache for the custom string.

    As its arg parameter, the overridden method accepts the string that you set in the VaryByCustom attribute or in the SetVaryByCustom method.Por exemplo, você pode ter páginas que são armazenadas em cache pela versão secundária do navegador solicitante.For these pages you can set the VaryByCustom attribute to "minorversion".Then, in the overridden GetVaryByCustomString method, you can check the arg parameter and return different strings depending on whether the value of the arg parameter is "minorversion".

    The following code example shows a Global.asax file with an override of the GetVaryByCustomString method.

    <%@ Application language="C#" %>
    <script >
    public override string GetVaryByCustomString(HttpContext context, 
        string arg)
    {
        if(arg == "minorversion")
        {
            return "Version=" +
                context.Request.Browser.MinorVersion.ToString();
        }
        return base.GetVaryByCustomString(context, arg);
    }
    </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()
        return base.GetVaryByCustomString(context, arg);
    End Function
    </script>
    

Consulte também

Tarefas

Como: conjunto the Cacheability of an ASP.NET página declarativamente

Conceitos

Cache de páginas ASP.NET

Definindo a Cacheabilidade de uma Página

Armazenando Múltiplas Versões de uma Página