PartialCachingAttribute Třída

Definice

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
PartialCachingAttribute
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 ctlMine tří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 @ 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.

  • 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 GET a POST hodnoty, názvy ovládacích prvků, vlastní požadavky na ukládání výstupu do mezipaměti použité k různým mezipaměti a zda lze výstup uživatelského ovládacího prvku sdílet s více stránkami.

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é GET a POST hodnoty, názvy ovládacích prvků, vlastní požadavky na ukládání do mezipaměti používané pro různé mezipaměti, závislosti databáze a zda lze výstup uživatelského ovládacího prvku sdílet s více stránkami.

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 POST , které bude výstupní mezipaměť používat k různým uživatelským ovládacím prvkům.

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)

Platí pro

Viz také