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ý uživatelské ovládací prvky webových formulářů (soubory .ascx) používají k označení, jestli a jak se jejich výstup ukládá do mezipaměti. Tato třída se nemůže dě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,
ctlMinekterá 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
ctlMinetřídou.Stránka Webových formulářů, 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 stránku webových formulářů, 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 atributu PartialCachingAttribute 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 uživatelského ovládacího prvku 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
@ OutputCacheslouží 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.
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á použitou direktivu PartialCachingAttribute, analyzátor ASP.NET vygeneruje instanci třídy PartialCachingControl k zabalení uživatelského ovládacího prvku.
Další informace o ukládání do mezipaměti ASP.NET najdete v tématu Caching. Další informace o používání atributů naleznete v tématu Atributy.
Konstruktory
| Name | Description |
|---|---|
| PartialCachingAttribute(Int32, String, String, String, Boolean) |
Inicializuje novou instanci PartialCachingAttribute třídy, určuje dobu ukládání do mezipaměti, všechny |
| PartialCachingAttribute(Int32, String, String, String, String, Boolean) |
Inicializuje novou instanci PartialCachingAttribute třídy, určuje dobu trvání ukládání do mezipaměti, libovolné |
| 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) |
Inicializuje novou instanci PartialCachingAttribute třídy se zadanou dobou trvání přiřazenou k uživatelskému ovládacímu prvku, který se má uložit do mezipaměti. |
Vlastnosti
| Name | Description |
|---|---|
| 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 urč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 jeden nebo více dvojic název databáze a tabulky, 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é bude výstupní mezipaměť 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
| Name | Description |
|---|---|
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. (Zděděno od Attribute) |
| GetType() |
Získá Type aktuální instance. (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 pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního 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í
| Name | Description |
|---|---|
| _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 pro 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) |