Como: Versões de cache de uma página usando o navegador pedir

Se seu aplicativo da Web contém uma página que cria a saída diferente com base no tipo do solicitante Navegador, você pode armazenar em cache versões de saída da página, o versão principal do navegador que solicite a página.Por exemplo, quando um navegador Internet Explorer 6 solicita uma página, uma versão da página é armazenada em cache.Quando um navegador Netscape Navigator, outra versão do Internet Explorer ou qualquer outro navegador solicita a página, outra versão da página é adicionada ao cache de saída.

Observação:

Principais informações de versão e de tipo de navegador são passadas através da propriedade MajorVersion do objeto HttpBrowserCapabilities na solicitação atual.Para obter mais informações, consulte Como: Detectar tipos de navegador em páginas da Web do ASP.NET.

Para armazenar em cache várias versões de uma página declarativamente com base no tipo de navegador

  1. No página ASP.NET, inclua uma diretiva @ OutputCache com oa atributos necessários Duration e VaryByParam ou VaryByControl.The Duration attribute must be set to an integer greater than zero.Se você quiser armazenar em cache somente pelo tipo de navegador, defina o atributo VaryByParam como "Nenhum".

  2. Na diretiva @ OutputCache, inclua o atributo VaryByCustom e defina-o como "navegador".

    O exemplo a seguir fará com que a página seja armazenada em cache por 10 segundos.A saída irão variar pelo tipo de navegador.

    <%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>
    

Para armazenar várias versões de uma página por meio de programação com base no tipo de navegador.

  1. No código da página, chame os métodos SetExpires e SetCacheability sobre a propriedade Cache da propriedade Response da página.

  2. Chame o método SetVaryByCustom, passando o valor "navegador" no parâmetro custom.

    O exemplo de código a seguir mostra como armazenar em cache várias versões de uma página por um minuto.A saída irá variar pelo tipo de navegador que fez a solicitação.

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1d));
        Response.Cache.SetCacheability(HttpCacheability.Public);
        Response.Cache.SetValidUntilExpires(true);
        Response.Cache.SetVaryByCustom("browser");
    }
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Cache.SetExpires(DateTime.Now.AddMinutes(1.0))
        Response.Cache.SetCacheability(HttpCacheability.Public)
        Response.Cache.SetValidUntilExpires(True)
        Response.Cache.SetVaryByCustom("browser")
    End Sub
    

Consulte também

Tarefas

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

Como: conjunto por programação Cacheability da página

Como: Versões de cache de uma página usando parâmetros

Como: Versões de cache de uma página usando cabeçalhos HTTP

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

Conceitos

Cache de páginas ASP.NET

Definindo a Cacheabilidade de uma Página

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