PartialCachingAttribute PartialCachingAttribute PartialCachingAttribute PartialCachingAttribute Class

Definición

Define el atributo de los metadatos que utilizan los controles de usuario de formularios Web Forms (.ascx files) para indicar si se almacenan los resultados en la caché y cómo.Defines the metadata attribute that Web Forms user controls (.ascx files) use to indicate if and how their output is cached. Esta clase no puede heredarse.This class cannot be inherited.

public ref class PartialCachingAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class PartialCachingAttribute : Attribute
type PartialCachingAttribute = class
    inherit Attribute
Public NotInheritable Class PartialCachingAttribute
Inherits Attribute
Herencia
PartialCachingAttributePartialCachingAttributePartialCachingAttributePartialCachingAttribute
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar el PartialCachingAttribute.The following code example demonstrates using the PartialCachingAttribute. En este ejemplo tiene tres partes:This example has three parts:

  • Una clase parcial, ctlMine, que hereda de la UserControl clase base y a la que el PartialCachingAttribute se aplica el atributo.A partial class, ctlMine, that inherits from the UserControl base class and to which the PartialCachingAttribute attribute is applied.

  • Un control de usuario que se usa con el ctlMine clase parcial.A user control that is used with the ctlMine partial class.

  • Una página de formularios Web Forms que hospeda el control de usuario.A Web Forms page that hosts the user control.

La primera parte del ejemplo muestra una clase parcial que hereda de la UserControl clase base y a la que el PartialCachingAttribute se aplica el atributo.The first part of the example demonstrates a partial class that inherits from the UserControl base class and to which the PartialCachingAttribute attribute is applied. En este ejemplo, el atributo especifica que el control de usuario debe almacenarse en caché durante 20 segundos.In this example, the attribute specifies that the user control should be cached for 20 seconds.

// [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
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 'Page_Load 
    End Class 'ctlMine
End Namespace

La segunda parte del ejemplo muestra un control de usuario que se usa con el ejemplo anterior para demostrar el almacenamiento en caché de control de usuario.The second part of the example shows a user control that is used with the previous example to demonstrate user control caching.

<!-- 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" />

La tercera parte del ejemplo muestra una página de formularios Web Forms que hospeda el control de usuario.The third part of the example demonstrates a Web Forms page that hosts the user control.

<!-- 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>

Comentarios

La PartialCachingAttribute clase de atributo marca los controles de usuario (archivos .ascx) que admiten el almacenamiento en caché y encapsula la configuración de caché que ASP.NET utiliza al almacenar en caché el control.The PartialCachingAttribute attribute class marks user controls (.ascx files) that support fragment caching, and encapsulates the cache settings that ASP.NET uses when caching the control. Los desarrolladores de páginas y controles usan la PartialCachingAttribute de salida de atributo para habilitar el almacenamiento en caché para un control de usuario en un archivo de código subyacente.Page and controls developers use the PartialCachingAttribute attribute to enable output caching for a user control in a code-behind file.

Mediante el PartialCachingAttribute se genera una de varias maneras de habilitar almacenamiento en caché.Using the PartialCachingAttribute is one of several ways you can enable output caching. En la lista siguiente se describe los métodos que puede usar para habilitar el almacenamiento en caché de salida.The following list describes methods you can use to enable output caching.

  • Use la directiva para habilitar la caché de resultados en escenarios declarativos.Use the directive to enable output caching in declarative scenarios.

  • Use el PartialCachingAttribute para habilitar el almacenamiento en caché para un control de usuario en un archivo de código subyacente.Use the PartialCachingAttribute to enable caching for a user control in a code-behind file.

  • Use la ControlCachePolicy clase para especificar mediante programación la configuración de caché en escenarios de programación en el que está trabajando con BasePartialCachingControl instancias.Use the ControlCachePolicy class to programmatically specify cache settings in programmatic scenarios in which you are working with BasePartialCachingControl instances.

Si un control de usuario contiene una directiva o tiene un PartialCachingAttribute aplicado, el analizador de ASP.NET genera una instancia de la PartialCachingControl clase para encapsular el control de usuario.If a user control contains an directive or has a PartialCachingAttribute applied, the ASP.NET parser generates an instance of the PartialCachingControl class to wrap the user control.

Para obtener más información sobre el almacenamiento en caché de ASP.NET, vea Caching.For more information about ASP.NET caching, see Caching. Para obtener más información sobre el uso de atributos, vea atributos.For more information about using attributes, see Attributes.

Constructores

PartialCachingAttribute(Int32) PartialCachingAttribute(Int32) PartialCachingAttribute(Int32) PartialCachingAttribute(Int32)

Inicializa una nueva instancia de la clase PartialCachingAttribute con la duración especificada asignada al control de usuario que se va a almacenar en caché.Initializes a new instance of the PartialCachingAttribute class with the specified duration assigned to the user control to be cached.

PartialCachingAttribute(Int32, String, String, String) PartialCachingAttribute(Int32, String, String, String) PartialCachingAttribute(Int32, String, String, String) PartialCachingAttribute(Int32, String, String, String)

Inicializa una nueva instancia de la clase PartialCachingAttribute, especificando la duración del almacenamiento en memoria caché, cualquier valor GET y POST, nombres de control y requisitos personalizados de almacenamiento en la caché de resultados utilizados para modificar la memoria caché.Initializes a new instance of the PartialCachingAttribute class, specifying the caching duration, any GET and POST values, control names, and custom output caching requirements used to vary the cache.

PartialCachingAttribute(Int32, String, String, String, Boolean) PartialCachingAttribute(Int32, String, String, String, Boolean) PartialCachingAttribute(Int32, String, String, String, Boolean) PartialCachingAttribute(Int32, String, String, String, Boolean)

Inicializa una nueva instancia de la clase PartialCachingAttribute, especificando la duración del almacenamiento en caché, cualquier valor GET y POST, nombres de control, requisitos de almacenamiento en la caché de resultados personalizados utilizados para variar la caché, y si el resultado del control de usuario puede compartirse con varias páginas o no.Initializes a new instance of the PartialCachingAttribute class, specifying the caching duration, any GET and POST values, control names, custom output caching requirements used to vary the cache, and whether the user control output can be shared with multiple pages.

PartialCachingAttribute(Int32, String, String, String, String, Boolean) PartialCachingAttribute(Int32, String, String, String, String, Boolean) PartialCachingAttribute(Int32, String, String, String, String, Boolean) PartialCachingAttribute(Int32, String, String, String, String, Boolean)

Inicializa una nueva instancia de la clase PartialCachingAttribute, especificando la duración del almacenamiento en caché, cualquier valor GET y POST, nombres de control, requisitos de almacenamiento en la caché de resultados personalizados utilizados para variar la caché, las dependencias de la base de datos y si el resultado del control de usuario puede compartirse con varias páginas o no.Initializes a new instance of the PartialCachingAttribute class, specifying the caching duration, any GET and POST values, control names, custom output caching requirements used to vary the cache, the database dependencies, and whether the user control output can be shared with multiple pages.

Propiedades

Duration Duration Duration Duration

Obtiene el periodo de tiempo, en segundos, que deben permanecer en la caché de resultados los elementos almacenados en memoria caché.Gets the amount of time, in seconds, that cached items should remain in the output cache.

ProviderName ProviderName ProviderName ProviderName

Obtiene o establece el nombre del proveedor que se utiliza para almacenar los datos en la caché de resultados para el control asociado.Gets or sets the name of the provider that is used to store the output-cached data for the associated control.

Shared Shared Shared Shared

Obtiene un valor que indica si varias páginas pueden compartir el resultado de un control de usuario.Gets a value indicating whether user control output can be shared with multiple pages.

SqlDependency SqlDependency SqlDependency SqlDependency

Obtiene una cadena delimitada que identifica una o más bases de datos y pares de nombres de tabla de los que depende el control de usuario almacenado en memoria caché.Gets a delimited string that identifies one or more database and table name pairs that the cached user control is dependent on.

TypeId TypeId TypeId TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
VaryByControls VaryByControls VaryByControls VaryByControls

Obtiene una lista de propiedades de control de usuario que utiliza la caché de resultados para modificar el control de usuario.Gets a list of user control properties that the output cache uses to vary the user control.

VaryByCustom VaryByCustom VaryByCustom VaryByCustom

Obtiene una lista de cadenas personalizadas que utilizará la caché de resultados para modificar el control de usuario.Gets a list of custom strings that the output cache will use to vary the user control.

VaryByParams VaryByParams VaryByParams VaryByParams

Obtiene una lista de los parámetros de cadena de consulta o de formulario POST que utilizará la caché de resultados para modificar el control de usuario.Gets a list of query string or form POST parameters that the output cache will use to vary the user control.

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Se aplica a

Consulte también: