PartialCachingAttribute PartialCachingAttribute PartialCachingAttribute PartialCachingAttribute Class

定義

Web フォーム ユーザー コントロール (.ascx files) が、出力をキャッシュするかどうか、およびその方法を示すために使用するメタデータ属性を定義します。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. この例には、次の3つの部分があります。This example has three parts:

  • 基本クラスから継承ctlMineし、属性が適用される部分クラス。PartialCachingAttribute UserControlA 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 フォームページ。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.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 'ctlMine
End Namespace

この例の2番目の部分は、ユーザーコントロールのキャッシュを示すために前の例と共に使用されるユーザーコントロールを示しています。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" />

この例の3番目の部分は、ユーザーコントロールをホストする Web フォームページを示しています。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 、またはが適用されている場合PartialCachingControlは、ASP.NET パーサーによって、ユーザーコントロールをラップするクラスのインスタンスが生成されます。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)

キャッシュされるユーザー コントロールに割り当てる存続期間を指定して、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)

キャッシュの存続期間、GET 値と POST 値、コントロール名、およびキャッシュを変更するために使用するカスタム出力キャッシュ要件を指定して、PartialCachingAttribute クラスの新しいインスタンスを初期化します。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)

キャッシュの存続期間、GET および POST の値、コントロール名、キャッシュを変更するために使用するカスタム出力キャッシュ要件、およびユーザー コントロール出力を複数のページで共有できるようにするかどうかを指定して、PartialCachingAttribute クラスの新しいインスタンスを初期化します。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)

キャッシュの存続期間、GET および POST の値、コントロール名、キャッシュを変更するために使用するカスタム出力キャッシュ要件、データベースの依存関係、およびユーザー コントロール出力を複数のページで共有できるようにするかどうかを指定して、PartialCachingAttribute クラスの新しいインスタンスを初期化します。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

キャッシュされたユーザー コントロールが依存する 1 つ以上のデータベース名とテーブル名のペアを指定する、区切り記号で区切られた文字列を取得します。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)

適用対象

こちらもご覧ください