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:
Declarativamente, usando o controle Substitution.
Por meio de programação, usando a API do controle Substitution.
Implicitamente, usando o controle AdRotator.
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
Armazenando Múltiplas Versões de uma Página