PartialCachingAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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 |
PartialCachingAttribute(Int32, String, String, String, String, Boolean) |
Menginisialisasi instans PartialCachingAttribute baru kelas, menentukan durasi penembolokan, nilai dan |
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 |
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) |