Como: Armazenar em cache várias versões de um controle de usuário com base em parâmetros
Você pode variar o cache de saída de usuário do controle de duas maneiras:
Especifique o nome controle de usuário juntamente com uma sequência de caracteres da consulta ou um parâmetro de formulário POST.Você pode fazer isso usando o atributo VaryByParam da diretiva @ OutputCache.Como alternativa, você pode fazê-la programaticamente definindo propriedade VaryByParams na caixa PartialCachingAttribute no código de controle de usuário.
Especificar a propriedade ID de uma controle de servidor ASP.NET contidos no controle de usuário.Você pode fazer isso usando o atributo VaryByControl declarativamente.Como alternativa, você pode fazê-lo por meio de programação, definindo a propriedade VaryByControls na caixa PartialCachingAttribute.
Observação: Variar a saida de controle de usuário para o cache com base em parâmetros de sequência de caracteres de consulta ou formulário POST funcionará somente se o controle de usuário envia de volta e processa o próprio postback.Se o controle de usuário envia de volta para a página que contém, esse tipo de cache de saída de controle de usuário não funcionará corretamente.
Armazenar em cache várias versões de um controle de usuário declarativamente usando o atributo VaryByControl
Crie um controle de usuário que envia de volta.
Na controle de usuário, incluir uma diretiva @ OutputCache com atributos Duration e VaryByControl.
Observação: Se você usar o VaryByControl atributo na diretiva, você não precisa incluir também o VaryByParamo atributo, embora você possa incluí-lo e defina-a como "None".
Defina o atributo VaryByControl como a identificação de um controle que você deseja variar a saída de controle de usuário.
Por exemplo, a seguinte diretiva @ OutputCache define o controle de usuário de expiração para 60 segundos e varia a saída do controle por um controle de servidor ASP.NET com ID de State:
<%@ OutputCache Duration="60" VaryByControl="State" %>
Para armazenar em cache várias versões de um controle de usuário programaticamente usando a propriedade VaryByControls
No código, crie um código controle de usuário que envia de volta para si mesmo.
Inclua um PartialCachingAttribute no início do código de controle de usuário.
Inclua um valor para o parâmetro Duration e defina o parâmetro VaryByControls como a identificação do controle de servidor ASP.NET no controle de usuário que você deseja variar a saída de controle de usuário.
O exemplo de código a seguir define Duration para 60 segundos e VaryByControls para State.Esse código deve ser incluído antes do código que estende a classe UserControl.
[PartialCaching(60, null, State, null)]
<PartialCaching(60, null, State, null)>
Armazenar em cache várias versões de um controle de usuário declarativamente usando o atributo VaryByParam
Crie um controle de usuário que envia de volta para si mesmo.
Na controle de usuário, incluir uma diretiva @ OutputCache com atributos Duration e VaryByParam.
Observação: Se você incluir o VaryByControl o atributo na @ OutputCache diretiva para um controle de usuário, você não precisará incluir também o VaryByParam atributo.
Defina o atributo VaryByParam como para a sequência de caracteres GET ou parâmetros formulário POST que você deseja variar o controle de usuário.
Por exemplo, a seguinte diretiva @ OutputCache define expirações para o controle de usuário para 60 segundos e varia para saída do controle um o valor de um parâmetro de formulário POST ou sequência de caracteres de consulta nomeado State.
<%@ OutputCache Duration="60" VaryByParam="State" %>
Para armazenar em cache várias versões de um controle de usuário programaticamente usando a propriedade VaryByParams
No código, crie um código controle de usuário que envia de volta para si mesmo.
Inclua um PartialCachingAttribute no início do código de controle de usuário.
Inclua um valor para o parâmetro Duration e defina o parâmetro VaryByParams como a identificação do controle de servidor ASP.NET no controle de usuário que você deseja variar a saída de controle de usuário.
O exemplo de código a seguir define Duration para 60 segundos e VaryByParams para um parâmetro de formulário POST ou sequência de caracteres da consulta chamado State .Esse código deve ser incluído antes do código que estende a classe UserControl.
[PartialCaching(60, State, null, null)]
<PartialCaching(60, State, null, null)>
Consulte também
Tarefas
Como: Armazenar em cache várias versões de um controle de usuário usando atributos declarativos
Conceitos
Visão geral do cache no ASP.NET
Armazenando Múltiplas Versões de uma Página
Fazendo cache de saída de versões múltiplas de controles de usuário