AggregateCacheDependency クラス


ASP.NET アプリケーションの Cache オブジェクトに格納される項目と CacheDependency オブジェクトの配列の間で複数の依存関係を結合します。Combines multiple dependencies between an item stored in an ASP.NET application's Cache object and an array of CacheDependency objects. このクラスは継承できません。This class cannot be inherited.

public ref class AggregateCacheDependency sealed : System::Web::Caching::CacheDependency
public sealed class AggregateCacheDependency : System.Web.Caching.CacheDependency
type AggregateCacheDependency = class
    inherit CacheDependency
Public NotInheritable Class AggregateCacheDependency
Inherits CacheDependency

次のコード例では、クラスを使用して、 AggregateCacheDependency DataSet XMLDataSet テキストファイルおよび XML ファイルに依存するキャッシュに、という名前のを追加します。The following code example uses the AggregateCacheDependency class to add a DataSet, named XMLDataSet, to the cache that is dependent on a text file and an XML file.

   ' When the page is loaded, use the 
   ' AggregateCacheDependency class to make 
   ' a cached item dependent on two files.
   Sub Page_Load(sender As Object, e As EventArgs)
      Dim Source As DataView
      Source = Cache("XMLDataSet")
      If Source Is Nothing
             Dim DS As New DataSet
             Dim FS As FileStream
             Dim Reader As StreamReader
             Dim txtDep As CacheDependency
             Dim xmlDep As CacheDependency
             Dim aggDep As AggregateCacheDependency
             FS = New FileStream(Server.MapPath("authors.xml"),FileMode.Open,FileAccess.Read)
             Reader = New StreamReader(FS)
             Source = new DataView(ds.Tables(0))
            ' Create two CacheDependency objects, one to a
            ' text file and the other to an XML file. 
            ' Create a CacheDependency array with these 
            ' two objects as items in the array.
             txtDep = New CacheDependency(Server.MapPath("Storage.txt"))
             xmlDep = New CacheDependency(Server.MapPath("authors.xml"))
             Dim DepArray() As CacheDependency = {txtDep, xmlDep}

             ' Create an AggregateCacheDependency object and 
             ' use the Add method to add the array to it.   
             aggDep = New AggregateCacheDependency()
             ' Call the GetUniqueId method to generate
             ' an ID for each dependency in the array.
             msg1.Text = aggDep.GetUniqueId()
             ' Add the new data set to the cache with 
             ' dependencies on both files in the array.
             Cache.Insert("XMLDataSet", Source, aggDep)
             If aggDep.HasChanged = True Then
                chngMsg.Text = "The dependency changed at: " & DateTime.Now
                chngMsg.Text = "The dependency changed last at: " & aggDep.UtcLastModified.ToString()
             End If

             cacheMsg1.Text = "Dataset created explicitly"
             cacheMsg1.Text = "Dataset retrieved from cache"
           End If
             MyLiteral.Text = Source.Table.TableName
             MyDataGrid.DataSource = Source
         End Sub

         Public Sub btn_Click(sender As Object, e As EventArgs )
          If (MyTextBox.Text = String.Empty) Then
             msg2.Text ="You have not changed the text file."
             msg2.Text="You added " & MyTextBox.Text & "."
             ' Create an instance of the StreamWriter class
             ' to write text to a file.
             Dim sw As StreamWriter
             sw = File.CreateText(Server.MapPath("Storage.txt"))
             ' Add some text to the file.
             sw.Write("You entered:")
             ' Write arbitrary objects to the file as needed.
             sw.Write("Text added at:")
          End If
        End Sub


クラスは、 AggregateCacheDependency いずれかの変更が行われたときに、キャッシュされた項目が自動的に削除されるように、依存関係オブジェクトのコレクションを監視します。The AggregateCacheDependency class monitors a collection of dependency objects so that when any of them change, the cached item is automatically removed. 配列内のオブジェクトには、 CacheDependency オブジェクト、 SqlCacheDependency オブジェクト、から派生したカスタムオブジェクト、 CacheDependency またはこれらの任意の組み合わせを指定できます。The objects in the array can be CacheDependency objects, SqlCacheDependency objects, custom objects derived from CacheDependency, or any combination of these.

クラスは、 AggregateCacheDependency CacheDependency 異なる型の複数の依存関係を1つのキャッシュされた項目に関連付けることができるという点でクラスとは異なります。The AggregateCacheDependency class differs from the CacheDependency class in that it allows you to associate multiple dependencies of different types with a single cached item. たとえば、SQL Server データベーステーブルと XML ファイルからデータをインポートするページを作成する場合は、 SqlCacheDependency データベーステーブルに対する依存関係を表すオブジェクトを作成し、 CacheDependency xml ファイルに対する依存関係を表すを作成できます。For example, if you create a page that imports data from a SQL Server database table and an XML file, you can create a SqlCacheDependency object to represent a dependency on the database table and a CacheDependency to represent the dependency on the XML file. 各依存関係に対してメソッド呼び出しを行うのではなく、 Cache.Insert 各依存関係を追加して、クラスのインスタンスを作成でき AggregateCacheDependency ます。Rather than making an Cache.Insert method call for each dependency, you can create an instance of the AggregateCacheDependency class with each dependency added to it. その後、1回の呼び出しを使用して、 Insert ページをインスタンスに依存させることができ AggregateCacheDependency ます。You can then use a single Insert call to make the page dependent on the AggregateCacheDependency instance.



AggregateCacheDependency クラスの新しいインスタンスを初期化します。Initializes a new instance of the AggregateCacheDependency class.



CacheDependency オブジェクトが変更されたかどうかを示す値を取得します。Gets a value indicating whether the CacheDependency object has changed.

(継承元 CacheDependency)

依存関係が最後に変更された時刻を取得します。Gets the time when the dependency was last changed.

(継承元 CacheDependency)



CacheDependency オブジェクトに AggregateCacheDependency オブジェクトの配列を追加します。Adds an array of CacheDependency objects to the AggregateCacheDependency object.


CacheDependency クラス、および CacheDependency から派生したクラスが使用したリソースを解放します。Releases the resources used by the CacheDependency class and any classes that derive from CacheDependency.

(継承元 CacheDependency)

CacheDependency オブジェクトによって使用されているリソースを解放します。Releases the resources used by the CacheDependency object.

(継承元 CacheDependency)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)

CacheDependency オブジェクトの初期化を完了します。Completes initialization of the CacheDependency object.

(継承元 CacheDependency)

ファイルの依存関係を取得します。Gets the file dependencies.


ファイルの依存関係を取得します。Gets the file dependencies.

(継承元 CacheDependency)

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

AggregateCacheDependency オブジェクトの一意の識別子を取得します。Retrieves a unique identifier for the AggregateCacheDependency object.


監視対象のキャッシュ エントリが削除されるときに呼び出されます。Called when a monitored cache entry is removed.

(継承元 CacheDependency)

この項目に依存するすべてのキャッシュ項目の最終アクセス時刻を更新します。Updates the last access time of every cache item that depends on this item.

(継承元 CacheDependency)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
NotifyDependencyChanged(Object, EventArgs)

派生クラス CacheDependency によって表される依存関係が変更されたことを、基本オブジェクトの CacheDependency に通知します。Notifies the base CacheDependency object that the dependency represented by a derived CacheDependency class has changed.

(継承元 CacheDependency)

変更において関係者への通知を処理するアクション メソッドをこの依存関係に追加します。Adds an Action method to handle notifying interested party in changes to this dependency.

(継承元 CacheDependency)

依存関係が最後に変更された時刻にマークを付けます。Marks the time when a dependency last changed.

(継承元 CacheDependency)

この依存関係の排他的所有権を宣言する最初のユーザーを許可します。Allows the first user to declare exclusive ownership of this dependency.

(継承元 CacheDependency)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)