PartialCachingAttribute Osztály

Definíció

Meghatározza azt a metaadatattribútumot, amelyet a Web Forms felhasználói vezérlői (.ascx fájlok) használnak annak jelzésére, hogy a kimenet gyorsítótárazva van-e. Ez az osztály nem örökölhető.

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
Öröklődés
PartialCachingAttribute
Attribútumok

Példák

Az alábbi példakód bemutatja a PartialCachingAttribute. Ez a példa három részből áll:

  • Az alaposztálytól ctlMine öröklő és az UserControl attribútumot alkalmazó részleges osztályPartialCachingAttribute.

  • A részleges osztályhoz ctlMine használt felhasználói vezérlő.

  • A felhasználói vezérlőt üzemeltető weblap.

A példa első része egy olyan részleges osztályt mutat be, amely az UserControl alaposztálytól örököl, és amelyre az PartialCachingAttribute attribútumot alkalmazza. Ebben a példában az attribútum azt határozza meg, hogy a felhasználói vezérlőt 20 másodpercig gyorsítótárazza.

// [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

A példa második része egy felhasználói vezérlőt mutat be, amely az előző példában a felhasználói vezérlés gyorsítótárazását mutatja be.

<!-- 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" />

A példa harmadik része egy olyan weblapot mutat be, amely a felhasználói vezérlőt üzemelteti.

<!-- 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>

Megjegyzések

A PartialCachingAttribute attribútumosztály a töredékek gyorsítótárazását támogató felhasználói vezérlőket (.ascx-fájlokat) jelöli, és tartalmazza azokat a gyorsítótár-beállításokat, amelyeket ASP.NET a vezérlő gyorsítótárazásakor. A lap- és vezérlők fejlesztői az PartialCachingAttribute attribútum használatával engedélyezik a felhasználói vezérlők kimeneti gyorsítótárazását egy kód mögötti fájlban.

Az egyik módszer a PartialCachingAttribute kimeneti gyorsítótárazás engedélyezésére. Az alábbi lista a kimeneti gyorsítótárazás engedélyezéséhez használható módszereket ismerteti.

  • @ OutputCache Az irányelv használatával deklaratív forgatókönyvekben engedélyezheti a kimeneti gyorsítótárazást.

  • Ezzel engedélyezheti a PartialCachingAttribute gyorsítótárazást egy felhasználóvezérlő számára egy kód mögötti fájlban.

  • ControlCachePolicy Az osztály használatával programozott módon adja meg a gyorsítótár beállításait olyan programozott forgatókönyvekben, amelyekben példányokkal BasePartialCachingControl dolgozik.

Ha egy felhasználói vezérlő @ OutputCache irányelvet tartalmaz, vagy PartialCachingAttribute van alkalmazva, a ASP.NET elemző létrehozza a PartialCachingControl osztály egy példányát a felhasználói vezérlő burkolásához.

A ASP.NET gyorsítótárazással kapcsolatos további információkért lásd: Caching. Az attribútumok használatáról további információt az Attribútumok című témakörben talál.

Konstruktorok

Name Description
PartialCachingAttribute(Int32, String, String, String, Boolean)

Inicializálja az PartialCachingAttribute osztály új példányát, megadva a gyorsítótárazási időtartamot, az esetleges GET és POST az értékeket, a vezérlőneveket, a gyorsítótár-módosításhoz használt egyéni kimeneti gyorsítótárazási követelményeket, valamint azt, hogy a felhasználói vezérlő kimenete megosztható-e több oldallal.

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

Inicializálja az PartialCachingAttribute osztály új példányát, megadva a gyorsítótárazási időtartamot, az esetleges GET és POST az értékeket, a vezérlőneveket, a gyorsítótár és az adatbázis-függőségek változó egyéni kimeneti gyorsítótárazási követelményeit, valamint azt, hogy a felhasználói vezérlő kimenete megosztható-e több oldallal.

PartialCachingAttribute(Int32, String, String, String)

Inicializálja az PartialCachingAttribute osztály új példányát, megadva a gyorsítótárazás időtartamát, a GET és POST értékeket, a vezérlőneveket és az egyéni kimeneti gyorsítótárazási követelményeket.

PartialCachingAttribute(Int32)

Inicializálja az PartialCachingAttribute osztály új példányát a gyorsítótárazandó felhasználói vezérlőhöz rendelt megadott időtartammal.

Tulajdonságok

Name Description
Duration

Másodpercek alatt lekérdezi, hogy a gyorsítótárazott elemek mennyi ideig maradjanak a kimeneti gyorsítótárban.

ProviderName

Lekéri vagy beállítja annak a szolgáltatónak a nevét, amely a társított vezérlő kimeneti gyorsítótárazott adatainak tárolására szolgál.

Shared

Beolvas egy értéket, amely jelzi, hogy a felhasználói vezérlő kimenete megosztható-e több oldallal.

SqlDependency

Lekéri azokat a tagolt sztringeket, amelyek egy vagy több adatbázis- és táblanévpárt azonosítanak, amelyektől a gyorsítótárazott felhasználói vezérlő függ.

TypeId

Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap.

(Öröklődés forrása Attribute)
VaryByControls

Lekéri azoknak a felhasználói vezérlőtulajdonságoknak a listáját, amelyeket a kimeneti gyorsítótár a felhasználói vezérlők módosítása érdekében használ.

VaryByCustom

Lekéri azoknak az egyéni sztringeknek a listáját, amelyeket a kimeneti gyorsítótár a felhasználói vezérlők eltérő használatára fog használni.

VaryByParams

Lekéri azoknak a lekérdezési sztringeknek vagy űrlapparamétereknek POST a listáját, amelyeket a kimeneti gyorsítótár a felhasználói vezérlők eltérő használatára fog használni.

Metódusok

Name Description
Equals(Object)

Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal.

(Öröklődés forrása Attribute)
GetHashCode()

A példány kivonatkódját adja vissza.

(Öröklődés forrása Attribute)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsDefaultAttribute()

Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke.

(Öröklődés forrása Attribute)
Match(Object)

Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e.

(Öröklődés forrása Attribute)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Névkészletet képez le a küldési azonosítók megfelelő készletére.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

(Öröklődés forrása Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

(Öröklődés forrása Attribute)

A következőre érvényes:

Lásd még