Definindo a Cacheabilidade de uma Página

A Cacheabilidade de uma página ou controle de usuário refere-se a ser ou não possível armazenar em cache um dispositivo durante o ciclo de vida de resposta da página.Dispositivos que podem armazenar em cache uma página incluem o navegador fazendo a solicitação,o servidor da web respondendo à solicitação, e quaisquer outros dispositivos capazes de armazenar em cache, como servidores proxy, que estiverem no fluxo de solicitação ou de resposta.

Quando um servidor da Web envia uma resposta para o navegador solicitante, o servidor inclui na resposta um campo Cache-Control no cabeçalho HTTP, que define os dispositivos nos quais a página pode ser armazenado em cache.Dependendo das necessidades do seu aplicativo, você pode definir quais dispositivos devem ou não armazenar em cache páginas ASP.NET individuais.Por exemplo, você pode desejar que as configurações de cacheabilidade para uma página de logon de usuário sejam diferentes daquelas referentes a uma página que exiba uma seleção de produtos de um catálogo.No caso da página de logon, por razões de segurança, você pode desjar armazenar a página em cache somente no servidor, enquanto que a página de catálogo pode ser armazenada em cache por qualquer dispositivo.

Para páginas ASP.NET, você pode definir cacheability utilizando os valores na enumeração HttpCacheability.A enumeração possui os seguintes valores.Mapeiam os primeiros três diretamente às configurações de cabeçalho HTTP Cache-Control, e os três últimos são valores especiais.

  • NoCache Especifíca que o dispositivo que está fazendo a solicitação deve obter a resposta do servidor Web toda vez.

  • Public   Permite que a resposta seja armazenada em cache por clientes e caches compartilhados (proxy).

  • Private   Especifica que a resposta é armazenável em cache apenas no cliente e não nos caches compartilhados (servidor proxy).

  • Server   Especifica que a resposta é armazenada em cache apenas no servidor de origem.

  • ServerAndNoCache   Aplica as configurações de Server e NoCache para indicar que o conteúdo está armazenado em cache no servidor, mas todos aos outros são explicitamente negados a capacidade para armazenar em cache a resposta.

  • ServerAndPrivate   Especifica que uma resposta deve ser armazenada em cache apenas no servidor de origem e no cliente solicitando; servidores proxy não são permitidos armazenar a resposta em cache.

Você pode definir a cacheabilidade de uma página declarativamente incluindo um atributo Location na diretiva @ OutputCache e especificar um dos valores de enumeração OutputCacheLocation.Você também pode definir a cacheabilidade uma página do por meio de programação usando o método SetCacheability para especificar um valor HttpCacheability para a página.O método é acessível através da propriedade Cache da classe Response.

Observação:

If you use the @ OutputCache directive to set your page's cacheability, you must declare the Duration attribute and either the VaryByControl attribute or the VaryByParam attribute along with the Location attribute.O atributo Duration deve ser definido como um valor maior que zero.Você pode definir o atributo VaryByParam para "Nenhum" se você não deseja usar a funcionalidade dos parâmetros VaryByParam ou VaryByControl.Para obter mais informações, consulte Como: conjunto valores de expiração para ASP.NET página cache e Armazenando Múltiplas Versões de uma Página.

As an alternative to setting a page's cacheability using the @ OutputCache directive, you can create a cache profile in your application's Web.config file and then reference the profile in your page.Para obter mais informações, consulte Configuração de cache no ASP.NET.

Consulte também

Tarefas

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

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

Conceitos

Cache de páginas ASP.NET

Referência

Duration