PartialCachingAttribute Klasse

Definition

Definiert die Metadatenattribute, die Web Forms-Benutzersteuerelemente (ASCX-Dateien) verwenden, um anzugeben, ob und wie ihre Ausgabe zwischengespeichert wird. Diese Klasse kann nicht vererbt werden.

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
Vererbung
PartialCachingAttribute
Attribute

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung der PartialCachingAttribute. In diesem Beispiel sind drei Teile vorhanden:

  • Eine partielle Klasse, ctlMinedie von der UserControl Basisklasse erbt und auf die das PartialCachingAttribute Attribut angewendet wird.

  • Ein Benutzersteuerelement, das mit der ctlMine partiellen Klasse verwendet wird.

  • Eine Web Forms Seite, auf der das Benutzersteuerelement gehostet wird.

Der erste Teil des Beispiels veranschaulicht eine partielle Klasse, die von der UserControl Basisklasse erbt und auf die das PartialCachingAttribute Attribut angewendet wird. In diesem Beispiel gibt das Attribut an, dass das Benutzersteuerelement 20 Sekunden lang zwischengespeichert werden soll.

// [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

Der zweite Teil des Beispiels zeigt ein Benutzersteuerelement, das mit dem vorherigen Beispiel verwendet wird, um das Zwischenspeichern von Benutzersteuerelementen zu veranschaulichen.

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

Der dritte Teil des Beispiels veranschaulicht eine Web Forms Seite, auf der das Benutzersteuerelement gehostet wird.

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

Hinweise

Die PartialCachingAttribute Attributklasse markiert Benutzersteuerelemente (ASCX-Dateien), die das Zwischenspeichern von Fragmenten unterstützen, und kapselt die Cacheeinstellungen, die ASP.NET beim Zwischenspeichern des Steuerelements verwendet werden. Seiten- und Steuerelemente-Entwickler verwenden das Attribut, um die PartialCachingAttribute Ausgabespeicherung für ein Benutzersteuerelement in einer CodeBehind-Datei zu ermöglichen.

Die Verwendung ist PartialCachingAttribute eine von mehreren Möglichkeiten, wie Sie das Zwischenspeichern der Ausgabe aktivieren können. In der folgenden Liste werden Methoden beschrieben, mit denen Sie das Zwischenspeichern der Ausgabe aktivieren können.

  • Verwenden Sie die Direktive, um die @ OutputCache Ausgabezwischenspeicherung in deklarativen Szenarien zu aktivieren.

  • Verwenden Sie die PartialCachingAttribute Zwischenspeicherung für ein Benutzersteuerelement in einer CodeBehind-Datei.

  • Verwenden Sie die ControlCachePolicy Klasse zum programmgesteuerten Angeben von Cacheeinstellungen in programmgesteuerten Szenarien, in denen Sie mit BasePartialCachingControl Instanzen arbeiten.

Wenn ein Benutzersteuerelement eine @ OutputCache Direktive enthält oder angewendet PartialCachingAttribute wurde, generiert der ASP.NET Parser eine Instanz der PartialCachingControl Klasse, um das Benutzersteuerelement umzuschließen.

Weitere Informationen zum ASP.NET Zwischenspeichern finden Sie unter Zwischenspeichern. Weitere Informationen zur Verwendung von Attributen finden Sie unter Attribute.

Konstruktoren

PartialCachingAttribute(Int32)

Initialisiert eine neue Instanz der PartialCachingAttribute-Klasse mit der angegebenen Dauer, die dem Benutzersteuerelement zugewiesen ist, das zwischengespeichert werden soll.

PartialCachingAttribute(Int32, String, String, String)

Initialisiert eine neue Instanz der PartialCachingAttribute-Klasse, die die Dauer der Zwischenspeicherung, ggf. GET- und POST-Werte, Steuerelementnamen und benutzerdefinierte Anforderungen zum Ändern des Ausgabecaches angibt.

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

Initialisiert eine neue Instanz der PartialCachingAttribute-Klasse, die die Dauer der Zwischenspeicherung, ggf. GET- und POST-Werte, Steuerelementnamen und benutzerdefinierte Anforderungen zum Ändern des Ausgabecaches sowie die Möglichkeit der gemeinsamen Verwendung der Ausgabe von Benutzersteuerelementen durch mehrere Seiten angibt.

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

Initialisiert eine neue Instanz der PartialCachingAttribute-Klasse, die die Dauer der Zwischenspeicherung, ggf. GET- und POST-Werte, Steuerelementnamen, benutzerdefinierte Anforderungen zum Ändern des Ausgabecaches und Datenbankabhängigkeiten sowie die Möglichkeit der gemeinsamen Verwendung der Ausgabe von Benutzersteuerelementen durch mehrere Seiten angibt.

Eigenschaften

Duration

Ruft die Zeitspanne in Sekunden ab, über die zwischengespeicherte Elemente im Ausgabecache verbleiben.

ProviderName

Ruft den Namen des Anbieters ab, mit dem die im Ausgabecache zwischengespeicherten Daten für das zugeordnete Steuerelement gespeichert werden, oder legt diesen fest.

Shared

Ruft einen Wert ab, der angibt, ob die Ausgabe von Benutzersteuerelementen von mehreren Seiten gemeinsam verwendet werden kann.

SqlDependency

Ruft eine durch Trennzeichen getrennte Zeichenfolge ab, die ein oder mehrere Paare aus Datenbank- und Tabellennamen angibt, von denen das zwischengespeicherte Benutzersteuerelement abhängig ist.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)
VaryByControls

Ruft eine Liste von Benutzersteuerelementeigenschaften ab, die vom Ausgabecache zum Variieren des Benutzersteuerelements verwendet werden.

VaryByCustom

Ruft eine Liste der benutzerdefinierten Zeichenfolgen ab, die vom Ausgabecache zum Variieren des Benutzersteuerelements verwendet werden.

VaryByParams

Ruft eine Liste von Abfragezeichenfolgen oder Formular-POST-Parametern ab, die vom Ausgabecache zum Variieren des Benutzersteuerelements verwendet werden.

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für

Siehe auch