PartialCachingAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert das Metadaten-Attribut, das Web Forms-Benutzersteuerelemente (ASCX-Dateien) verwendet, um anzugeben, ob und wie die 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
- Attribute
Beispiele
Das folgende Codebeispiel veranschaulicht die Verwendung der PartialCachingAttribute. In diesem Beispiel sind drei Teile enthalten:
Eine partielle Klasse,
ctlMinedie von der UserControl Basisklasse erbt und auf die das PartialCachingAttribute Attribut angewendet wird.Ein Benutzersteuerelement, das mit der
ctlMinepartiellen Klasse verwendet wird.Eine Webseite, 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" />
Im dritten Teil des Beispiels wird eine Web Forms-Seite veranschaulicht, 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 attributklasse PartialCachingAttribute kennzeichnet Benutzersteuerelemente (ASCX-Dateien), die das Zwischenspeichern von Fragmenten unterstützen, und kapselt die Cacheeinstellungen, die ASP.NET beim Zwischenspeichern des Steuerelements verwendet. Seiten- und Steuerelemententwickler verwenden das PartialCachingAttribute Attribut, um die Ausgabezwischenspeicherung für ein Benutzersteuerelement in einer CodeBehind-Datei zu ermöglichen.
PartialCachingAttribute Die Verwendung ist eine von mehreren Möglichkeiten, die Ausgabezwischenspeicherung zu aktivieren. In der folgenden Liste werden Methoden beschrieben, mit denen Sie die Ausgabezwischenspeicherung aktivieren können.
Verwenden Sie die
@ OutputCacheDirektive, um die Ausgabezwischenspeicherung in deklarativen Szenarien zu aktivieren.Verwenden Sie die Option zum Aktivieren der PartialCachingAttribute Zwischenspeicherung für ein Benutzersteuerelement in einer CodeBehind-Datei.
Verwenden Sie die ControlCachePolicy Klasse, um Cacheeinstellungen programmgesteuert in programmgesteuerten Szenarien anzugeben, in denen Sie mit BasePartialCachingControl Instanzen arbeiten.
Wenn ein Benutzersteuerelement eine @ OutputCache-Direktive enthält oder eine PartialCachingAttribute angewendet wird, generiert der ASP.NET Parser eine Instanz der klasse PartialCachingControl, um das Benutzersteuerelement umzuschließen.
Weitere Informationen zum ASP.NET Zwischenspeichern finden Sie unter Caching. Weitere Informationen zur Verwendung von Attributen finden Sie unter "Attribute".
Konstruktoren
| Name | Beschreibung |
|---|---|
| PartialCachingAttribute(Int32, String, String, String, Boolean) |
Initialisiert eine neue Instanz der PartialCachingAttribute Klasse, wobei die Zwischenspeicherdauer, alle |
| PartialCachingAttribute(Int32, String, String, String, String, Boolean) |
Initialisiert eine neue Instanz der PartialCachingAttribute Klasse, wobei die Zwischenspeicherdauer, alle |
| PartialCachingAttribute(Int32, String, String, String) |
Initialisiert eine neue Instanz der PartialCachingAttribute Klasse, wobei die Zwischenspeicherdauer, alle GET- und POST-Werte, Steuerelementnamen und benutzerdefinierte Anforderungen für die Ausgabezwischenspeicherung angegeben werden, die zum Variieren des Caches verwendet werden. |
| PartialCachingAttribute(Int32) |
Initialisiert eine neue Instanz der PartialCachingAttribute Klasse mit der angegebenen Dauer, die dem Benutzersteuerelement zugewiesen ist, um zwischengespeichert zu werden. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Duration |
Ruft die Zeitspanne in Sekunden ab, die zwischengespeicherte Elemente im Ausgabecache verbleiben sollen. |
| ProviderName |
Dient zum Abrufen oder Festlegen des Namens des Anbieters, der zum Speichern der zwischengespeicherten Ausgabedaten für das zugeordnete Steuerelement verwendet wird. |
| Shared |
Ruft einen Wert ab, der angibt, ob die Benutzersteuerelementausgabe für mehrere Seiten freigegeben werden kann. |
| SqlDependency |
Ruft eine durch Trennzeichen getrennte Zeichenfolge ab, die ein oder mehrere Datenbank- und Tabellennamenpaare identifiziert, von denen das zwischengespeicherte Benutzersteuerelement abhängig ist. |
| TypeId |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute. (Geerbt von Attribute) |
| VaryByControls |
Ruft eine Liste der Benutzersteuerelementeigenschaften ab, die der Ausgabecache verwendet, um das Benutzersteuerelement zu variieren. |
| VaryByCustom |
Ruft eine Liste der benutzerdefinierten Zeichenfolgen ab, die der Ausgabecache verwendet, um das Benutzersteuerelement zu variieren. |
| VaryByParams |
Ruft eine Liste der Abfragezeichenfolgen oder Formularparameter |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| GetHashCode() |
Gibt den Hashcode für diesen instance zurück. (Geerbt von Attribute) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| IsDefaultAttribute() |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Geerbt von Attribute) |
| Match(Object) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| _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 denen 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) |
Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden. (Geerbt von Attribute) |