PartialCachingAttribute PartialCachingAttribute PartialCachingAttribute PartialCachingAttribute Class

Definizione

Definisce l'attributo di metadati utilizzato dai controlli utente Web Form (file ascx) per indicare se e come viene memorizzato l'output nella cache.Defines the metadata attribute that Web Forms user controls (.ascx files) use to indicate if and how their output is cached. Questa classe non può essere ereditata.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
Ereditarietà
PartialCachingAttributePartialCachingAttributePartialCachingAttributePartialCachingAttribute
Attributi

Esempi

Esempio di codice seguente illustra l'uso di PartialCachingAttribute.The following code example demonstrates using the PartialCachingAttribute. In questo esempio è costituito da tre parti:This example has three parts:

  • Una classe parziale ctlMine, che eredita dal UserControl classe di base e a cui il PartialCachingAttribute viene applicato l'attributo.A partial class, ctlMine, that inherits from the UserControl base class and to which the PartialCachingAttribute attribute is applied.

  • Un controllo utente che viene usato con il ctlMine classe parziale.A user control that is used with the ctlMine partial class.

  • Una pagina Web Form che ospiti il controllo utente.A Web Forms page that hosts the user control.

La prima parte dell'esempio viene illustrata una classe parziale che eredita dal UserControl classe di base e a cui il PartialCachingAttribute viene applicato l'attributo.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. In questo esempio, l'attributo specifica che il controllo utente deve essere memorizzato nella cache per 20 secondi.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 seconda parte dell'esempio viene illustrato un controllo utente che viene usato con l'esempio precedente per illustrare la memorizzazione nella cache di controllo utente.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 terza parte dell'esempio viene illustrata una pagina Web Form che ospiti il controllo utente.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>

Commenti

Il PartialCachingAttribute classe attribute contrassegna i controlli utente (file con estensione ascx) che supportano la memorizzazione nella cache di frammento e incapsula le impostazioni della cache utilizzate da ASP.NET per la memorizzazione nella cache del controllo.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. Gli sviluppatori di pagine e controlli usano il PartialCachingAttribute attributo per abilitare la memorizzazione dell'output per un controllo utente in un file code-behind.Page and controls developers use the PartialCachingAttribute attribute to enable output caching for a user control in a code-behind file.

Uso di PartialCachingAttribute rappresenta uno dei diversi modi, è possibile abilitare la memorizzazione nella cache di output.Using the PartialCachingAttribute is one of several ways you can enable output caching. Nell'elenco seguente vengono descritti i metodi che è possibile usare per abilitare la memorizzazione nella cache di output.The following list describes methods you can use to enable output caching.

  • Usare la direttiva per abilitare la memorizzazione nella cache di output negli scenari dichiarativi.Use the directive to enable output caching in declarative scenarios.

  • Usare il PartialCachingAttribute per abilitare la memorizzazione nella cache per un controllo utente in un file code-behind.Use the PartialCachingAttribute to enable caching for a user control in a code-behind file.

  • Usare la ControlCachePolicy classe per specificare a livello di codice le impostazioni della cache in scenari a livello di codice in cui si lavora con BasePartialCachingControl istanze.Use the ControlCachePolicy class to programmatically specify cache settings in programmatic scenarios in which you are working with BasePartialCachingControl instances.

Se un controllo utente contiene una direttiva o ha un PartialCachingAttribute applicato, il parser ASP.NET genera un'istanza del PartialCachingControl classe per eseguire il wrapping del controllo utente.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.

Per altre informazioni sulla memorizzazione nella cache di ASP.NET, vedere Caching.For more information about ASP.NET caching, see Caching. Per altre informazioni sull'utilizzo di attributi, vedere attributi.For more information about using attributes, see Attributes.

Costruttori

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

Inizializza una nuova istanza della classe PartialCachingAttribute con la durata assegnata al controllo utente da memorizzare nella cache.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)

Inizializza una nuova istanza della classe PartialCachingAttribute specificando la durata di memorizzazione nella cache, eventuali valori GET e POST, nomi di controlli e requisiti personalizzati della cache di output utilizzati per variare la cache.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)

Inizializza una nuova istanza della classe PartialCachingAttribute specificando la durata di inserimento nella cache, eventuali valori GET e POST, nomi di controlli, requisiti personalizzati di cache di output utilizzati per variare la cache e se l'output del controllo utente può essere condiviso con più pagine.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)

Inizializza una nuova istanza della classe PartialCachingAttribute specificando la durata di inserimento nella cache, eventuali valori GET e POST, nomi di controlli, requisiti personalizzati di cache di output utilizzati per variare la cache, le dipendenze di database e se l'output del controllo utente può essere condiviso con più pagine.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.

Proprietà

Duration Duration Duration Duration

Ottiene l'intervallo di tempo, in secondi, di permanenza nella cache di output degli elementi memorizzati nella cache.Gets the amount of time, in seconds, that cached items should remain in the output cache.

ProviderName ProviderName ProviderName ProviderName

Ottiene o imposta il nome del provider utilizzato per archiviare i dati della cache di output per il controllo associato.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

Ottiene un valore che indica se l'output del controllo utente può essere condiviso con più pagine.Gets a value indicating whether user control output can be shared with multiple pages.

SqlDependency SqlDependency SqlDependency SqlDependency

Ottiene una stringa delimitata che identifica una o più coppie di nomi di database e di tabelle da cui dipende il controllo utente inserito nella cache.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

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
VaryByControls VaryByControls VaryByControls VaryByControls

Ottiene un elenco di proprietà del controllo utente utilizzato dalla cache di output per variare il controllo utente.Gets a list of user control properties that the output cache uses to vary the user control.

VaryByCustom VaryByCustom VaryByCustom VaryByCustom

Ottiene un elenco di stringhe personalizzate che verrà utilizzato dalla cache di output per variare il controllo utente.Gets a list of custom strings that the output cache will use to vary the user control.

VaryByParams VaryByParams VaryByParams VaryByParams

Ottiene un elenco di parametri di stringa di query o di parametri POST di form che verrà utilizzato dalla cache di output per variare il controllo utente.Gets a list of query string or form POST parameters that the output cache will use to vary the user control.

Metodi

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

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

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

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.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)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.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 superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

_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)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.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)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.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 il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 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)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a

Vedi anche