Atualizar dinamicamente porções de uma página em cache

Armazenar em cache uma página pode aumentar significativamente o desempenho de um aplicativo Web.No entanto, em alguns casos é necessário a maioria da página ser armazenada em cache e alguns fragmentos dentro da página serem dinâmicos.Por exemplo, se você criar uma página de artigos e notícias que seja totalmente estática para definir períodos de tempo, você pode definir a página inteira para ser armazenada em cache.Se você quiser incluir uma faixa de anúncio rotatória que seja alterada em cada solicitação de página, então, a parte da página que contém o anúncio precisa ser dinâmica.

Para permitir que você armazene em cache uma página, mas substitua alguns conteúdos dinamicamente, você pode usar substituição post-cache do ASP.NET.Com a substituição post-cache, a página inteira é armazenada em cache de saída com partes específicas marcadas como isentas do armazenamento.No exemplo das faixas de anúncio, o controle AdRotator permite que você aproveite a substituição post-cache para que anúncios criados dinamicamente para cada usuário e cada página atualizem.

Existem três maneiras de implementar a substituição pós-cache:

Controle de substituição

O controle Substitution do ASP.NET especifica uma seção de uma página em cache que é criada dinamicamente em vez de ser armazenada em cache.Você coloca um controle Substitution no local na página onde você deseja que o conteúdo dinâmico apareça.

Em tempo de execução, o controle Substitution chama um método que você especifica com a propriedade MethodName.O método deve retornar uma sequência de caracteres, que, em seguida, substitui o conteúdo do controle Substitution.O método deve ser um método estático no controle que contém Page ou UserControl.

Usar o controle de substituição faz com que o armazenamento em cache do lado do cliente seja alterado para armazenamento em cache no servidor, para que a página não seja armazenada em cache no cliente.Isso garante que futuras solicitações para a página chamem o método novamente para gerar conteúdo dinâmico.

Substituição API

Para criar conteúdo dinâmico para uma página armazenada em cache por programação, você pode chamar o método WriteSubstitution no seu código de página, passando por ele o nome de um método como um parâmetro.O método que trata a criação do conteúdo dinâmico usa um único parâmetro HttpContext e retorna uma sequência de caracteres.A sequência de retorno é o conteúdo que será substituído na localidade determinada.Uma vantagem de chamar o método WriteSubstitution em vez de usar o controle Substitution declarativamente é que você pode chamar um método de qualquer objeto arbitrário, em vez de chamar um método estático do objeto Page ou do objeto UserControl.

Chamar o método WriteSubstitution faz com que o armazenamento em cache do lado do cliente seja alterado para armazenamento em cache de servidor, assim, a página não será armazenada em cache no cliente.Isso garante que futuras solicitações para a página chamem o método novamente para gerar conteúdo dinâmico.

Controle AdRotator

O controle de servidor AdRotator implementa suporte para substituição post-cache internamente.Se você colocar um controle AdRotator na sua página, ele processará anúncios exclusivos em cada solicitação, independentemente se a página pai é armazenada em cache.Como resultado, uma página que inclui um controle AdRotator somente é armazenada em cache do lado do servidor.

Consulte também

Conceitos

Visão geral do cache no ASP.NET

Cache de páginas ASP.NET

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

Cache de Partes de uma Página ASP.NET

Cache de dados de aplicativo

Armazenamento em ASP.NET com a Classe SqlCacheDependency