PartialCachingAttribute Sınıf

Tanım

Web Forms kullanıcısının (.ascx dosyaları) denetlediği ve çıktılarının önbelleğe alınıp alınmadığını ve nasıl önbelleğe alındığını belirtmek için kullandığı meta veri özniteliğini tanımlar. Bu sınıf devralınamaz.

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
Devralma
PartialCachingAttribute
Öznitelikler

Örnekler

Aşağıdaki kod örneğinde kullanılarak gösterilmektedir PartialCachingAttribute. Bu örnekte üç bölüm vardır:

  • Temel sınıftan ctlMinedevralan ve özniteliğinin UserControlPartialCachingAttribute uygulandığı kısmi sınıf.

  • Kısmi sınıfla ctlMine kullanılan bir kullanıcı denetimi.

  • Kullanıcı denetimini barındıran bir Web Forms sayfası.

Örneğin ilk bölümünde, temel sınıftan devralan ve özniteliğinin UserControlPartialCachingAttribute uygulandığı kısmi bir sınıf gösterilir. Bu örnekte özniteliği, kullanıcı denetiminin 20 saniye boyunca önbelleğe alınması gerektiğini belirtir.

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

Örneğin ikinci bölümünde, kullanıcı denetiminin önbelleğe alınmasını göstermek için önceki örnekle birlikte kullanılan bir kullanıcı denetimi gösterilir.

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

Örneğin üçüncü bölümünde, kullanıcı denetimini barındıran bir Web Forms sayfası gösterilir.

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

Açıklamalar

PartialCachingAttribute öznitelik sınıfı, parça önbelleğini destekleyen kullanıcı denetimlerini (.ascx dosyaları) işaretler ve ASP.NET denetimi önbelleğe alırken kullandığı önbellek ayarlarını kapsüller. Sayfa ve denetim geliştiricileri, arka planda kod dosyasındaki PartialCachingAttribute bir kullanıcı denetimi için çıktı önbelleğe almayı etkinleştirmek için özniteliğini kullanır.

PartialCachingAttribute kullanmak, çıktı önbelleğini etkinleştirmenin çeşitli yollarından biridir. Aşağıdaki listede, çıktı önbelleğini etkinleştirmek için kullanabileceğiniz yöntemler açıklanmaktadır.

  • @ OutputCache Bildirim temelli senaryolarda çıktı önbelleğe almayı etkinleştirmek için yönergesini kullanın.

  • PartialCachingAttribute Arka planda kod dosyasındaki bir kullanıcı denetimi için önbelleğe almayı etkinleştirmek için kullanın.

  • ControlCachePolicy Örneklerle BasePartialCachingControl çalıştığınız programlı senaryolarda önbellek ayarlarını program aracılığıyla belirtmek için sınıfını kullanın.

Bir kullanıcı denetimi bir @ OutputCache yönerge içeriyorsa veya PartialCachingAttribute uygulanmışsa, ASP.NET ayrıştırıcısı kullanıcı denetimini sarmalama sınıfının bir örneğini PartialCachingControl oluşturur.

ASP.NET önbelleğe alma hakkında daha fazla bilgi için bkz. Önbelleğe alma. Öznitelikleri kullanma hakkında daha fazla bilgi için bkz . Öznitelikler.

Oluşturucular

PartialCachingAttribute(Int32)

Önbelleğe alınmak üzere kullanıcı denetimine PartialCachingAttribute atanan belirtilen süreyle sınıfının yeni bir örneğini başlatır.

PartialCachingAttribute(Int32, String, String, String)

Önbelleğe alma süresini, tüm GET ve POST değerlerini, denetim adlarını ve önbelleği değiştirmek için kullanılan özel çıktı önbelleğe alma gereksinimlerini belirterek sınıfının yeni bir örneğini PartialCachingAttribute başlatır.

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

Önbelleğe alma süresini, tüm GET ve POST değerlerini, denetim adlarını, önbelleği değiştirmek için kullanılan özel çıkış önbelleğe alma gereksinimlerini ve kullanıcı denetimi çıkışının birden çok sayfayla paylaşılıp paylaşılamayacağını belirterek sınıfının yeni bir örneğini PartialCachingAttribute başlatır.

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

Önbelleğe alma süresini, tüm GET ve POST değerlerini, denetim adlarını, önbelleği, veritabanı bağımlılıklarını ve kullanıcı denetimi çıkışının birden çok sayfayla paylaşılıp paylaşılamayacağını değiştirmek için kullanılan özel çıkış önbelleğe alma gereksinimlerini belirterek sınıfının yeni bir örneğini PartialCachingAttribute başlatır.

Özellikler

Duration

Önbelleğe alınan öğelerin çıkış önbelleğinde kalması gereken süreyi saniye olarak alır.

ProviderName

İlişkili denetim için çıktı önbelleğe alınmış verileri depolamak için kullanılan sağlayıcının adını alır veya ayarlar.

Shared

Kullanıcı denetimi çıkışının birden çok sayfayla paylaşılıp paylaşılamayacağını belirten bir değer alır.

SqlDependency

Önbelleğe alınan kullanıcı denetiminin bağımlı olduğu bir veya daha fazla veritabanı ve tablo adı çiftini tanımlayan sınırlandırılmış bir dize alır.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)
VaryByControls

Çıkış önbelleğinin kullanıcı denetimini değiştirmek için kullandığı kullanıcı denetimi özelliklerinin listesini alır.

VaryByCustom

Çıkış önbelleğinin kullanıcı denetimini değiştirmek için kullanacağı özel dizelerin listesini alır.

VaryByParams

Çıkış önbelleğinin kullanıcı denetimini değiştirmek için kullanacağı sorgu dizesinin veya form POST parametrelerinin listesini alır.

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

(Devralındığı yer: Attribute)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

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

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.