PartialCachingAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje atribut metadat, který Web Forms uživatelských ovládacích prvků (soubory.ascx) slouží k označení, jestli a jak se jejich výstup ukládá do mezipaměti. Tuto třídu nelze zdědit.
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
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje použití PartialCachingAttribute. Tento příklad má tři části:
Částečná třída,
ctlMine
která dědí ze UserControl základní třídy a na kterou PartialCachingAttribute je atribut použit.Uživatelský ovládací prvek, který se používá s částečnou
ctlMine
třídou.Stránka Web Forms, která je hostitelem uživatelského ovládacího prvku.
První část příkladu ukazuje částečnou třídu, která dědí ze UserControl základní třídy a na kterou PartialCachingAttribute je atribut použit. V tomto příkladu atribut určuje, že uživatelský ovládací prvek by měl být uložen do mezipaměti po dobu 20 sekund.
// [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
Druhá část příkladu ukazuje uživatelský ovládací prvek, který se používá s předchozím příkladem k předvedení ukládání uživatelských ovládacích prvků do mezipaměti.
<!-- 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" />
Třetí část příkladu ukazuje Web Forms stránku, která je hostitelem uživatelského ovládacího prvku.
<!-- 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>
Poznámky
Třída PartialCachingAttribute atributu označuje uživatelské ovládací prvky (soubory.ascx), které podporují ukládání fragmentů do mezipaměti, a zapouzdřuje nastavení mezipaměti, která ASP.NET používá při ukládání ovládacího prvku do mezipaměti. Vývojáři stránek a ovládacích prvků používají PartialCachingAttribute atribut k povolení ukládání výstupu do mezipaměti pro uživatelský ovládací prvek v souboru kódu.
PartialCachingAttribute Použití je jedním z několika způsobů, jak povolit ukládání výstupu do mezipaměti. Následující seznam popisuje metody, které můžete použít k povolení ukládání výstupu do mezipaměti.
Direktiva
@ OutputCache
slouží k povolení ukládání výstupu do mezipaměti v deklarativních scénářích.PartialCachingAttribute Umožňuje povolit ukládání do mezipaměti pro uživatelský ovládací prvek v souboru kódu za kódem.
ControlCachePolicy Pomocí třídy můžete programově určit nastavení mezipaměti v programových scénářích, ve kterých pracujete s BasePartialCachingControl instancemi.
Pokud uživatelský ovládací prvek obsahuje direktivu @ OutputCache
nebo má PartialCachingAttribute použitou direktivu, analyzátor ASP.NET vygeneruje instanci PartialCachingControl třídy, která zabalí uživatelský ovládací prvek.
Další informace o ukládání do mezipaměti ASP.NET najdete v tématu Ukládání do mezipaměti. Další informace o používání atributů naleznete v tématu Atributy.
Konstruktory
PartialCachingAttribute(Int32) |
Inicializuje novou instanci PartialCachingAttribute třídy se zadanou dobou trvání přiřazenou uživatelskému ovládacímu prvku, který se má uložit do mezipaměti. |
PartialCachingAttribute(Int32, String, String, String) |
Inicializuje novou instanci PartialCachingAttribute třídy, určuje dobu ukládání do mezipaměti, všechny hodnoty GET a POST, názvy ovládacích prvků a vlastní požadavky na ukládání výstupu do mezipaměti použité pro různé mezipaměti. |
PartialCachingAttribute(Int32, String, String, String, Boolean) |
Inicializuje novou instanci PartialCachingAttribute třídy, určuje dobu ukládání do mezipaměti, libovolné |
PartialCachingAttribute(Int32, String, String, String, String, Boolean) |
Inicializuje novou instanci PartialCachingAttribute třídy, určuje dobu ukládání do mezipaměti, libovolných |
Vlastnosti
Duration |
Získá množství času v sekundách, že položky uložené v mezipaměti by měly zůstat ve výstupní mezipaměti. |
ProviderName |
Získá nebo nastaví název zprostředkovatele, který se používá k uložení výstupních dat uložených v mezipaměti přidruženého ovládacího prvku. |
Shared |
Získá hodnotu označující, zda lze výstup uživatelského ovládacího prvku sdílet s více stránkami. |
SqlDependency |
Získá řetězec s oddělovači, který identifikuje jednu nebo více dvojic názvů databází a tabulek, na které je závislý uživatelský ovládací prvek v mezipaměti. |
TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
VaryByControls |
Získá seznam vlastností uživatelského ovládacího prvku, které výstupní mezipaměť používá k různým uživatelským ovládacím prvkům. |
VaryByCustom |
Získá seznam vlastních řetězců, které výstupní mezipaměť bude používat k různým uživatelským ovládacím prvkům. |
VaryByParams |
Získá seznam parametrů řetězce dotazu nebo formuláře |
Metody
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. (Zděděno od Attribute) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou odvozené třídy. (Zděděno od Attribute) |
Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu rozhraní. (Zděděno od Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |