PartialCachingAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define o atributo de metadados que os controles de usuário do Web Forms (arquivos .ascx) usam para indicar se e como sua saída é armazenada em cache. Essa classe não pode ser herdada.
public ref class PartialCachingAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class PartialCachingAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class)>]
type PartialCachingAttribute = class
inherit Attribute
Public NotInheritable Class PartialCachingAttribute
Inherits Attribute
- Herança
- Atributos
Exemplos
O exemplo de código a seguir demonstra o uso do PartialCachingAttribute. Este exemplo tem três partes:
Uma classe parcial,
ctlMine
, que herda da UserControl classe base e à qual o PartialCachingAttribute atributo é aplicado.Um controle de usuário usado com a
ctlMine
classe parcial.Uma página do Web Forms que hospeda o controle do usuário.
A primeira parte do exemplo demonstra uma classe parcial que herda da UserControl classe base e à qual o PartialCachingAttribute atributo é aplicado. Neste exemplo, o atributo especifica que o controle de usuário deve ser armazenado em cache por 20 segundos.
// [filename partialcache.cs]
// Create a code-behind user control that is cached
// for 20 seconds using the PartialCachingAttribute class.
// This control uses a DataGrid server control to display
// XML data.
using System;
using System.IO;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Samples.AspNet.CS.Controls
{
// Set the PartialCachingAttribute.Duration property to 20 seconds.
[PartialCaching(20)]
public partial class ctlMine : UserControl
{
protected void Page_Load(Object Src, EventArgs E)
{
DataSet ds = new DataSet();
FileStream fs = new FileStream(Server.MapPath("schemadata.xml"), FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fs);
ds.ReadXml(reader);
fs.Close();
DataView Source = new DataView(ds.Tables[0]);
// Use the LiteralControl constructor to create a new
// instance of the class.
LiteralControl myLiteral = new LiteralControl();
// Set the LiteralControl.Text property to an HTML
// string and the TableName value of a data source.
myLiteral.Text = "<h6><font face=verdana>Caching an XML Table: " + Source.Table.TableName + " </font></h6>";
MyDataGrid.DataSource = Source;
MyDataGrid.DataBind();
TimeMsg.Text = DateTime.Now.ToString("G");
}
}
}
' Filename is partialcache.vb
' Create a code-behind user control that is cached
' for 20 seconds using the PartialCachingAttribute class.
' This control uses a DataGrid server control to display
' XML data.
Imports System.IO
Imports System.Data
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace Samples.AspNet.VB.Controls
' Set the PartialCachingAttribute.Duration property to 20 seconds.
<PartialCaching(20)> _
Partial Class ctlMine
Inherits UserControl
Protected Sub Page_Load(ByVal Src As [Object], ByVal E As EventArgs)
Dim ds As New DataSet()
Dim fs As New FileStream(Server.MapPath("schemadata.xml"), FileMode.Open, FileAccess.Read)
Dim reader As New StreamReader(fs)
ds.ReadXml(reader)
fs.Close()
Dim [Source] As New DataView(ds.Tables(0))
' Use the LiteralControl constructor to create a new
' instance of the class.
Dim myLiteral As New LiteralControl()
' Set the LiteralControl.Text property to an HTML
' string and the TableName value of a data source.
myLiteral.Text = "<h6><font face=verdana>Caching an XML Table: " & [Source].Table.TableName & " </font></h6>"
MyDataGrid.DataSource = [Source]
MyDataGrid.DataBind()
TimeMsg.Text = DateTime.Now.ToString("G")
End Sub
End Class
End Namespace
A segunda parte do exemplo mostra um controle de usuário usado com o exemplo anterior para demonstrar o cache de controle do usuário.
<!-- The mark-up .ascx file that displays the output of
the partialcache.cs user control code-behind file. -->
<%@ Control language="C#" inherits="Samples.AspNet.CS.Controls.ctlMine" CodeFile="partialcache.cs.ascx.cs" %>
<ASP:DataGrid id="MyDataGrid" runat="server"
Width="900"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding="3"
CellSpacing="0"
Font-Names="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
EnableViewState="false"
/>
<br />
<i>Control last generated on:</i> <asp:label id="TimeMsg" runat="server" />
<!-- The mark-up .ascx file that displays the output of
the partialcache.vb user control code-behind file. -->
<%@ Control language="vb" inherits="Samples.AspNet.VB.Controls.ctlMine" CodeFile="partialcache.vb.ascx.vb" %>
<ASP:DataGrid id="MyDataGrid" runat="server"
Width="900"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding="3"
CellSpacing="0"
Font-Names="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
EnableViewState="false"
/>
<br />
<i>Control last generated on:</i> <asp:label id="TimeMsg" runat="server" />
A terceira parte do exemplo demonstra uma página do Web Forms que hospeda o controle do usuário.
<!-- The WebForms page that contains the user control generated
by partialcache.cs. -->
<%@ Register TagPrefix="Acme" TagName="Cache" Src="partialcache.cs.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="C#" runat="server">
void Page_Load(Object Src, EventArgs E ) {
TimeMsg.Text = DateTime.Now.ToString("G");
}
</script>
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<Acme:Cache runat="server"/>
<br />
<i>Page last generated on:</i> <asp:label id="TimeMsg" runat="server" />
</form>
</body>
</html>
<!-- The WebForms page that contains the user control generated
by partialcache.vb. -->
<%@ Register TagPrefix="Acme" TagName="Cache" Src="partialcache.vb.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="vb" runat="server">
Sub Page_Load(Src As [Object], E As EventArgs)
TimeMsg.Text = DateTime.Now.ToString("G")
End Sub 'Page_Load
</script>
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<Acme:Cache runat="server"/>
<br />
<i>Page last generated on:</i> <asp:label id="TimeMsg" runat="server" />
</form>
</body>
</html>
Comentários
A PartialCachingAttribute classe de atributo marca os controles do usuário (arquivos.ascx) que dão suporte ao cache de fragmento e encapsula as configurações de cache que ASP.NET usa ao armazenar em cache o controle. Os desenvolvedores de página e controles usam o atributo para habilitar o PartialCachingAttribute cache de saída para um controle de usuário em um arquivo code-behind.
Usar o PartialCachingAttribute é uma das várias maneiras de habilitar o cache de saída. A lista a seguir descreve os métodos que você pode usar para habilitar o cache de saída.
Use a diretiva para habilitar o
@ OutputCache
cache de saída em cenários declarativos.Use o para habilitar o PartialCachingAttribute cache para um controle de usuário em um arquivo code-behind.
Use a ControlCachePolicy classe para especificar programaticamente as configurações de cache em cenários programáticos nos quais você está trabalhando com BasePartialCachingControl instâncias.
Se um controle de usuário contiver uma @ OutputCache
diretiva ou tiver uma PartialCachingAttribute aplicada, o analisador ASP.NET gerará uma instância da PartialCachingControl classe para encapsular o controle do usuário.
Para obter mais informações sobre o cache de ASP.NET, consulte Cache. Para obter mais informações sobre como usar atributos, consulte Atributos.
Construtores
PartialCachingAttribute(Int32) |
Inicializa uma nova instância da classe PartialCachingAttribute com a duração especificada atribuída ao controle de usuário a ser armazenado em cache. |
PartialCachingAttribute(Int32, String, String, String) |
Inicializa uma nova instância da classe PartialCachingAttribute, que especifica a duração do cache, qualquer valor GET e POST, nomes de controle e requisitos de cache de saída personalizados usados para variar o cache. |
PartialCachingAttribute(Int32, String, String, String, Boolean) |
Inicializa uma nova instância da classe PartialCachingAttribute, especificando a duração do cache, quaisquer valores |
PartialCachingAttribute(Int32, String, String, String, String, Boolean) |
Inicializa uma nova instância da classe PartialCachingAttribute, especificando a duração de cache, os valores |
Propriedades
Duration |
Obtém a quantidade de tempo, em segundos, pela qual os itens armazenados em cache devem permanecer no cache de saída. |
ProviderName |
Obtém ou define o nome do provedor que é usado para armazenar os dados em cache de saída para o controle associado. |
Shared |
Obtém um valor que indica se a saída de controle de usuário pode ser compartilhada com várias páginas. |
SqlDependency |
Obtém uma cadeia de caracteres delimitada que identifica um ou mais pares de nome de tabela e banco de dados dos quais o controle de usuário em cache depende. |
TypeId |
Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute. (Herdado de Attribute) |
VaryByControls |
Obtém uma lista de propriedades de controle de usuário que o cache de saída usa para variar o controle de usuário. |
VaryByCustom |
Obtém uma lista de cadeias de caracteres personalizadas que o cache de saída usará para variar o controle de usuário. |
VaryByParams |
Obtém uma lista de parâmetros |
Métodos
Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
GetHashCode() |
Retorna o código hash para a instância. (Herdado de Attribute) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IsDefaultAttribute() |
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
Match(Object) |
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |