Sdílet prostřednictvím


PartialCachingAttribute Třída

Definice

Definuje atribut metadat, který uživatelské ovládací prvky webových formulářů (soubory .ascx) používají k označení, zda a jak je jejich výstup uložen v 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 v 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á v předchozím příkladu 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é formuláře, 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 s kódem na pozadí.

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.

  • Direktivu použijte @ OutputCache k povolení ukládání výstupu do mezipaměti v deklarativních scénářích.

  • PartialCachingAttribute K povolení ukládání do mezipaměti pro uživatelský ovládací prvek v souboru s kódem na pozadí použijte .

  • ControlCachePolicy Pomocí třídy můžete programově specifikovat 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 PartialCachingAttribute , analyzátor ASP.NET vygeneruje instanci PartialCachingControl třídy pro zabalení uživatelského ovládacího prvku.

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ů najdete v tématu Atributy.

Konstruktory

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ý má být uložen do mezipaměti.

PartialCachingAttribute(Int32, String, String, String)

Inicializuje novou instanci PartialCachingAttribute třídy, určení doby ukládání do mezipaměti, hodnoty GET a POST, názvy ovládacích prvků a vlastní výstupní požadavky na ukládání do mezipaměti používané pro různé mezipaměti.

PartialCachingAttribute(Int32, String, String, String, Boolean)

Inicializuje novou instanci PartialCachingAttribute třídy, určení doby ukládání do mezipaměti, hodnoty GET a POST , názvy ovládacích prvků, vlastní výstupní požadavky na ukládání do mezipaměti používané 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čení doby ukládání do mezipaměti, hodnoty GET a POST , názvy ovládacích prvků, vlastní výstupní 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.

Vlastnosti

Duration

Získá dobu 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 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 jeden nebo více dvojic názvů databází a tabulek, které je závislý na mezipaměti uživatelského ovládacího prvku.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)
VaryByControls

Získá seznam vlastností uživatelského ovládacího prvku, které výstupní mezipaměť používá k odlišování uživatelského ovládacího prvku.

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 řetězců dotazu nebo parametrů formuláře POST , které výstupní mezipaměť bude používat pro různé uživatelské ovládací prvky.

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á z aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance 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á označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(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 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é