Bagikan melalui


PartialCachingAttribute Kelas

Definisi

Menentukan atribut metadata yang digunakan pengguna Formulir Web (file.ascx) untuk menunjukkan apakah dan bagaimana outputnya di-cache. Kelas ini tidak dapat diwariskan.

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
Warisan
PartialCachingAttribute
Atribut

Contoh

Contoh kode berikut menunjukkan menggunakan PartialCachingAttribute. Contoh ini memiliki tiga bagian:

  • Kelas parsial, ctlMine, yang mewarisi dari UserControl kelas dasar dan di PartialCachingAttribute mana atribut diterapkan.

  • Kontrol pengguna yang digunakan dengan ctlMine kelas parsial.

  • Halaman Formulir Web yang menghosting kontrol pengguna.

Bagian pertama dari contoh menunjukkan kelas parsial yang mewarisi dari UserControl kelas dasar dan di mana PartialCachingAttribute atribut diterapkan. Dalam contoh ini, atribut menentukan bahwa kontrol pengguna harus di-cache selama 20 detik.

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

Bagian kedua dari contoh menunjukkan kontrol pengguna yang digunakan dengan contoh sebelumnya untuk menunjukkan penembolokan kontrol pengguna.

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

Bagian ketiga dari contoh menunjukkan halaman Formulir Web yang menghosting kontrol pengguna.

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

Keterangan

Kelas PartialCachingAttribute atribut menandai kontrol pengguna (file.ascx) yang mendukung penembolokan fragmen, dan merangkum pengaturan cache yang ASP.NET gunakan saat penembolokan kontrol. Pengembang halaman dan kontrol menggunakan PartialCachingAttribute atribut untuk mengaktifkan penembolokan output untuk kontrol pengguna dalam file code-behind.

PartialCachingAttribute Menggunakan adalah salah satu dari beberapa cara Anda dapat mengaktifkan penembolokan output. Daftar berikut menjelaskan metode yang dapat Anda gunakan untuk mengaktifkan penembolokan output.

  • Gunakan direktif @ OutputCache untuk mengaktifkan penembolokan output dalam skenario deklaratif.

  • PartialCachingAttribute Gunakan untuk mengaktifkan penembolokan untuk kontrol pengguna dalam file code-behind.

  • ControlCachePolicy Gunakan kelas untuk menentukan pengaturan cache secara terprogram dalam skenario terprogram tempat Anda bekerja dengan BasePartialCachingControl instans.

Jika kontrol pengguna berisi direktif @ OutputCache atau telah PartialCachingAttribute diterapkan, pengurai ASP.NET menghasilkan instans PartialCachingControl kelas untuk membungkus kontrol pengguna.

Untuk informasi selengkapnya tentang penembolokan ASP.NET, lihat Penembolokan. Untuk informasi selengkapnya tentang menggunakan atribut, lihat Atribut.

Konstruktor

PartialCachingAttribute(Int32)

Menginisialisasi instans PartialCachingAttribute baru kelas dengan durasi yang ditentukan yang ditetapkan ke kontrol pengguna untuk di-cache.

PartialCachingAttribute(Int32, String, String, String)

Menginisialisasi instans PartialCachingAttribute baru kelas, menentukan durasi penembolokan, nilai GET dan POST apa pun, nama kontrol, dan persyaratan penembolokan output kustom yang digunakan untuk memvariasikan cache.

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

Menginisialisasi instans PartialCachingAttribute baru kelas, menentukan durasi penembolokan, nilai dan POST apa punGET, nama kontrol, persyaratan penembolokan output kustom yang digunakan untuk memvariasikan cache, dan apakah output kontrol pengguna dapat dibagikan dengan beberapa halaman.

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

Menginisialisasi instans PartialCachingAttribute baru kelas, menentukan durasi penembolokan, nilai dan POST apa punGET, nama kontrol, persyaratan penembolokan output kustom yang digunakan untuk memvariasikan cache, dependensi database, dan apakah output kontrol pengguna dapat dibagikan dengan beberapa halaman.

Properti

Duration

Mendapatkan jumlah waktu, dalam hitungan detik, item cache tersebut harus tetap berada di cache output.

ProviderName

Mendapatkan atau mengatur nama penyedia yang digunakan untuk menyimpan data yang di-cache output untuk kontrol terkait.

Shared

Mendapatkan nilai yang menunjukkan apakah output kontrol pengguna dapat dibagikan dengan beberapa halaman.

SqlDependency

Mendapatkan string yang dibatasi yang mengidentifikasi satu atau beberapa database dan pasangan nama tabel yang bergantung pada kontrol pengguna yang di-cache.

TypeId

Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute.

(Diperoleh dari Attribute)
VaryByControls

Mendapatkan daftar properti kontrol pengguna yang digunakan cache output untuk memvariasikan kontrol pengguna.

VaryByCustom

Mendapatkan daftar string kustom yang akan digunakan cache output untuk memvariasikan kontrol pengguna.

VaryByParams

Mendapatkan daftar string kueri atau parameter formulir POST yang akan digunakan cache output untuk memvariasikan kontrol pengguna.

Metode

Equals(Object)

Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu.

(Diperoleh dari Attribute)
GetHashCode()

Mengembalikan kode hash untuk instans ini.

(Diperoleh dari Attribute)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
IsDefaultAttribute()

Ketika ditimpa di kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan.

(Diperoleh dari Attribute)
Match(Object)

Saat ditimpa di kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu.

(Diperoleh dari Attribute)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

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

Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai.

(Diperoleh dari Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka.

(Diperoleh dari Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1).

(Diperoleh dari Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Menyediakan akses ke properti dan metode yang diekspos oleh objek.

(Diperoleh dari Attribute)

Berlaku untuk

Lihat juga