PartialCachingAttribute PartialCachingAttribute PartialCachingAttribute PartialCachingAttribute Class

Определение

Определяет атрибут метаданных, используемый пользовательскими элементами управления веб-форм (файлы .ascx) для индикации кэшируется ли их выход, и каким образом.Defines the metadata attribute that Web Forms user controls (.ascx files) use to indicate if and how their output is cached. Этот класс не наследуется.This class cannot be inherited.

public ref class PartialCachingAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class PartialCachingAttribute : Attribute
type PartialCachingAttribute = class
    inherit Attribute
Public NotInheritable Class PartialCachingAttribute
Inherits Attribute
Наследование
PartialCachingAttributePartialCachingAttributePartialCachingAttributePartialCachingAttribute
Атрибуты

Примеры

В следующем примере кода показано использование PartialCachingAttribute.The following code example demonstrates using the PartialCachingAttribute. В этом примере состоит из трех частей:This example has three parts:

  • Разделяемый класс, ctlMine, который наследуется от UserControl базового класса, к которой PartialCachingAttribute применяется атрибут.A partial class, ctlMine, that inherits from the UserControl base class and to which the PartialCachingAttribute attribute is applied.

  • Пользовательский элемент управления, который используется с ctlMine разделяемый класс.A user control that is used with the ctlMine partial class.

  • Страницы Web Forms, на котором размещается пользовательский элемент управления.A Web Forms page that hosts the user control.

В первой части примера показано разделяемый класс, наследуемый от UserControl базового класса, к которой PartialCachingAttribute применяется атрибут.The first part of the example demonstrates a partial class that inherits from the UserControl base class and to which the PartialCachingAttribute attribute is applied. В этом примере атрибут указывает, что пользовательский элемент управления должен быть кэширован на 20 секунд.In this example, the attribute specifies that the user control should be cached for 20 seconds.

// [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
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 'Page_Load 
    End Class 'ctlMine
End Namespace

Вторая часть примера показывает пользовательский элемент управления, который используется в предыдущем примере для демонстрации кэширования пользовательских элементов управления.The second part of the example shows a user control that is used with the previous example to demonstrate user control caching.

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

В третьей части примера показано страницы Web Forms, на котором размещается пользовательский элемент управления.The third part of the example demonstrates a Web Forms page that hosts the user control.

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

Комментарии

PartialCachingAttribute Класс атрибута помечает пользовательских элементов управления (ASCX), которые поддерживают кэширование фрагментов и инкапсулирует параметры кэша, которые ASP.NET использует при кэшировании элементов управления.The PartialCachingAttribute attribute class marks user controls (.ascx files) that support fragment caching, and encapsulates the cache settings that ASP.NET uses when caching the control. Разработчики страниц и элементов управления с помощью PartialCachingAttribute атрибут, чтобы включить кэширование вывода для пользовательского элемента управления в файле кода.Page and controls developers use the PartialCachingAttribute attribute to enable output caching for a user control in a code-behind file.

С помощью PartialCachingAttribute является одним из следующих способов, вы можете включить кэширование вывода.Using the PartialCachingAttribute is one of several ways you can enable output caching. Ниже перечислены методы, которые можно использовать для включения кэширования выходных данных.The following list describes methods you can use to enable output caching.

  • Директива включить кэширование вывода в декларативных сценариях.Use the directive to enable output caching in declarative scenarios.

  • Используйте PartialCachingAttribute Включение кэширования для пользовательского элемента управления в файле кода.Use the PartialCachingAttribute to enable caching for a user control in a code-behind file.

  • Используйте ControlCachePolicy класса, чтобы программно указать параметры кэша в программных сценариев, в которых вы работаете с BasePartialCachingControl экземпляров.Use the ControlCachePolicy class to programmatically specify cache settings in programmatic scenarios in which you are working with BasePartialCachingControl instances.

Если пользовательский элемент управления содержит директиву или PartialCachingAttribute применения анализатору ASP.NET создает экземпляр PartialCachingControl класса программы-оболочки для пользовательского элемента управления.If a user control contains an directive or has a PartialCachingAttribute applied, the ASP.NET parser generates an instance of the PartialCachingControl class to wrap the user control.

Дополнительные сведения о кэшировании ASP.NET см. в разделе кэширование.For more information about ASP.NET caching, see Caching. Дополнительные сведения об использовании атрибутов см. в разделе атрибуты.For more information about using attributes, see Attributes.

Конструкторы

PartialCachingAttribute(Int32) PartialCachingAttribute(Int32) PartialCachingAttribute(Int32) PartialCachingAttribute(Int32)

Initializes a new instance of the PartialCachingAttribute с заданным временем кэширования пользовательского элемента управления.Initializes a new instance of the PartialCachingAttribute class with the specified duration assigned to the user control to be cached.

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

Инициализирует новый экземпляр класса PartialCachingAttribute, задавая длительность кэширования, любые значения GET и POST, имена элементов управления и пользовательские требования к кэшированию, используемые для изменения кэша.Initializes a new instance of the PartialCachingAttribute class, specifying the caching duration, any GET and POST values, control names, and custom output caching requirements used to vary the cache.

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

Инициализирует новый экземпляр класса PartialCachingAttribute, определяющий длительность кэширования, любые значения GET и POST, имена элементов управления и требования к пользовательскому выходному кэшированию, используемые для изменения кэша.Initializes a new instance of the PartialCachingAttribute class, specifying the caching duration, any GET and POST values, control names, custom output caching requirements used to vary the cache, and whether the user control output can be shared with multiple pages.

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

Инициализирует новый экземпляр класса PartialCachingAttribute, определяющий длительность кэширования, любые значения GET и POST, имена элементов управления и требования к пользовательскому выходному кэшированию, используемые для изменения кэша, зависимости базы данных и признак, может ли выходной поток пользовательского элемента управления разделяться несколькими страницами.Initializes a new instance of the PartialCachingAttribute class, specifying the caching duration, any GET and POST values, control names, custom output caching requirements used to vary the cache, the database dependencies, and whether the user control output can be shared with multiple pages.

Свойства

Duration Duration Duration Duration

Получает время в секундах, в течение которого кэшируемые элементы должны оставаться в кэше вывода.Gets the amount of time, in seconds, that cached items should remain in the output cache.

ProviderName ProviderName ProviderName ProviderName

Получает или задает имя поставщика, используемого для хранения кэшированных выходных данных для сопоставленного элемента управления.Gets or sets the name of the provider that is used to store the output-cached data for the associated control.

Shared Shared Shared Shared

Возвращает значение, указывающее, может ли выходной поток пользовательского элемента управления разделяться несколькими страницами.Gets a value indicating whether user control output can be shared with multiple pages.

SqlDependency SqlDependency SqlDependency SqlDependency

Возвращает строку с разделителям, содержащую список пар имен баз данных и таблиц, от которых зависит кэшированный пользовательский элемент управления.Gets a delimited string that identifies one or more database and table name pairs that the cached user control is dependent on.

TypeId TypeId TypeId TypeId

При реализации в производном классе возвращает уникальный идентификатор для этого Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
VaryByControls VaryByControls VaryByControls VaryByControls

Возвращает список свойств пользовательского элемента управления, используемых кэшем выходного потока для изменения пользовательского элемента управления.Gets a list of user control properties that the output cache uses to vary the user control.

VaryByCustom VaryByCustom VaryByCustom VaryByCustom

Возвращает список пользовательских строк, используемых кэшем выходного потока для изменения пользовательского элемента управления.Gets a list of custom strings that the output cache will use to vary the user control.

VaryByParams VaryByParams VaryByParams VaryByParams

Возвращает список строк запроса или параметров POST формы, используемых кэшем выходного потока для изменения пользовательского элемента управления.Gets a list of query string or form POST parameters that the output cache will use to vary the user control.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Возвращает хэш-код для данного экземпляра.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

При переопределении в производном классе показывает, является ли значение данного экземпляра значением по умолчанию для производного класса.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые могут использоваться для получения сведений о типе интерфейса.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Применяется к

Дополнительно