PartialCachingAttribute Klas

Definitie

Definieert het metagegevenskenmerk dat webformuliergebruikersbesturingselementen (.ascx-bestanden) gebruiken om aan te geven of en hoe de uitvoer in de cache wordt opgeslagen. Deze klasse kan niet worden overgenomen.

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
Overname
PartialCachingAttribute
Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de PartialCachingAttribute. In dit voorbeeld zijn drie delen:

  • Een gedeeltelijke klasse, ctlMinedie wordt overgenomen van de UserControl basisklasse en waarop het PartialCachingAttribute kenmerk wordt toegepast.

  • Een gebruikersbeheer dat wordt gebruikt met de ctlMine gedeeltelijke klasse.

  • Een webpagina met webformulieren die als host fungeert voor het gebruikersbeheer.

In het eerste deel van het voorbeeld ziet u een gedeeltelijke klasse die wordt overgenomen van de UserControl basisklasse en waarop het PartialCachingAttribute kenmerk wordt toegepast. In dit voorbeeld geeft het kenmerk aan dat het gebruikersbeheer gedurende 20 seconden in de cache moet worden opgeslagen.

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

In het tweede deel van het voorbeeld ziet u een gebruikersbeheer dat in het vorige voorbeeld wordt gebruikt om caching van gebruikersbeheer te demonstreren.

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

In het derde deel van het voorbeeld ziet u een webpagina met webformulieren die als host fungeert voor het gebruikersbeheer.

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

Opmerkingen

De kenmerkklasse PartialCachingAttribute markeert gebruikersbesturingselementen (.ascx-bestanden) die het opslaan van fragmenten ondersteunen en bevat de cache-instellingen die ASP.NET gebruikt bij het opslaan van het besturingselement. Ontwikkelaars van pagina's en besturingselementen gebruiken het PartialCachingAttribute kenmerk om uitvoercaching in te schakelen voor een gebruikersbesturingselement in een code-behind-bestand.

Het is een van de PartialCachingAttribute verschillende manieren waarop u uitvoercache kunt inschakelen. In de volgende lijst worden methoden beschreven die u kunt gebruiken om uitvoercache in te schakelen.

  • Gebruik de @ OutputCache instructie om uitvoercaching in te schakelen in declaratieve scenario's.

  • Gebruik de PartialCachingAttribute functie om caching in te schakelen voor een gebruikersbesturingselement in een code-behind-bestand.

  • Gebruik de ControlCachePolicy klasse om programmatisch cache-instellingen op te geven in programmatische scenario's waarin u met BasePartialCachingControl exemplaren werkt.

Als een gebruikersbeheer een @ OutputCache-instructie bevat of een PartialCachingAttribute heeft toegepast, genereert de ASP.NET parser een exemplaar van de klasse PartialCachingControl om het gebruikersbeheer te verpakken.

Zie Caching voor meer informatie over ASP.NET caching. Zie Kenmerken voor meer informatie over het gebruik van kenmerken.

Constructors

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

Initialiseert een nieuw exemplaar van de PartialCachingAttribute klasse, waarbij de cacheduur, alle GET waarden, POST besturingsnamen, aangepaste vereisten voor uitvoercache worden opgegeven die worden gebruikt om de cache te variëren en of de uitvoer van gebruikersbeheer kan worden gedeeld met meerdere pagina's.

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

Initialiseert een nieuw exemplaar van de PartialCachingAttribute klasse, waarbij de cacheduur en waarden GETPOST , namen van besturingselementen, aangepaste cachevereisten voor uitvoer worden gebruikt om de cache te variëren, de databaseafhankelijkheden en of de uitvoer van het gebruikersbeheer kan worden gedeeld met meerdere pagina's.

PartialCachingAttribute(Int32, String, String, String)

Initialiseert een nieuw exemplaar van de PartialCachingAttribute klasse, waarbij de cacheduur, eventuele GET- en POST-waarden, besturingsnamen en aangepaste cachevereisten voor uitvoer worden opgegeven die worden gebruikt om de cache te variëren.

PartialCachingAttribute(Int32)

Initialiseert een nieuw exemplaar van de PartialCachingAttribute klasse met de opgegeven duur die is toegewezen aan het gebruikersbeheer dat in de cache moet worden opgeslagen.

Eigenschappen

Name Description
Duration

Hiermee haalt u de hoeveelheid tijd in seconden op die items in de cache moeten blijven staan in de uitvoercache.

ProviderName

Hiermee wordt de naam opgehaald of ingesteld van de provider die wordt gebruikt voor het opslaan van de gegevens in de uitvoercache voor het bijbehorende besturingselement.

Shared

Hiermee wordt een waarde opgehaald die aangeeft of uitvoer van gebruikersbeheer kan worden gedeeld met meerdere pagina's.

SqlDependency

Hiermee haalt u een tekenreeks met scheidingstekens op waarmee een of meer database- en tabelnaamparen worden geïdentificeerd waarvoor het gebruikersbesturingselement in de cache afhankelijk is.

TypeId

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id.

(Overgenomen van Attribute)
VaryByControls

Hiermee haalt u een lijst op met eigenschappen van gebruikersbeheer die door de uitvoercache worden gebruikt om het gebruikersbeheer te variëren.

VaryByCustom

Hiermee haalt u een lijst op met aangepaste tekenreeksen die door de uitvoercache worden gebruikt om het gebruikersbeheer te variëren.

VaryByParams

Hiermee haalt u een lijst met queryreeks- of formulierparameters POST op die door de uitvoercache worden gebruikt om het gebruikersbesturingselement te variëren.

Methoden

Name Description
Equals(Object)

Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
GetHashCode()

Retourneert de hash-code voor dit exemplaar.

(Overgenomen van Attribute)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsDefaultAttribute()

Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse.

(Overgenomen van Attribute)
Match(Object)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

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

Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's.

(Overgenomen van Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen.

(Overgenomen van Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1).

(Overgenomen van Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven.

(Overgenomen van Attribute)

Van toepassing op

Zie ook