Sdílet prostřednictvím


PartialCachingAttribute Třída

Definice

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

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

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)

Platí pro

Viz také