次の方法で共有


AggregateCacheDependency クラス

定義

ASP.NET アプリケーションの Cache オブジェクトに格納される項目と CacheDependency オブジェクトの配列の間で複数の依存関係を結合します。 このクラスは継承できません。

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

次のコード例では、このクラスをAggregateCacheDependency使用して、テキスト ファイルと XML ファイルに依存する名前付き XMLDataSet、 をキャッシュに追加DataSetします。

   ' 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)
             DS.ReadXml(Reader)
             FS.Close()
   
             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()
             aggDep.Add(DepArray)
   
             ' 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
   
             Else
                chngMsg.Text = "The dependency changed last at: " & aggDep.UtcLastModified.ToString()
             End If

   
             cacheMsg1.Text = "Dataset created explicitly"
           Else
             cacheMsg1.Text = "Dataset retrieved from cache"
           End If
   
   
             MyLiteral.Text = Source.Table.TableName
             MyDataGrid.DataSource = Source
             MyDataGrid.DataBind()
         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."
          Else
             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:")
             sw.WriteLine(MyTextBox.Text)
   
             ' Write arbitrary objects to the file as needed.
             sw.Write("Text added at:")
             sw.WriteLine(DateTime.Now)
             sw.WriteLine("-------------------")
             sw.Close()
          End If
        End Sub

注釈

クラスは AggregateCacheDependency 依存関係オブジェクトのコレクションを監視して、いずれかの変更が行われると、キャッシュされた項目が自動的に削除されるようにします。 配列 CacheDependency 内のオブジェクトは、オブジェクト、オブジェクト、 SqlCacheDependency 派生した CacheDependencyカスタム オブジェクト、またはこれらの任意の組み合わせにすることができます。

クラスは AggregateCacheDependency 、異なる型の CacheDependency 複数の依存関係を 1 つのキャッシュされた項目に関連付けることができます。 たとえば、SQL Server データベース テーブルと XML ファイルからデータをインポートするページを作成する場合は、データベース テーブルへの依存関係を表すオブジェクトとCacheDependency、XML ファイルへの依存関係を表すオブジェクトを作成SqlCacheDependencyできます。 依存関係ごとにメソッド呼び出しを Cache.Insert 行う代わりに、各依存関係を追加して AggregateCacheDependency クラスのインスタンスを作成できます。 その後、1 回 Insert の呼び出しを使用して、ページをインスタンスに AggregateCacheDependency 依存させることができます。

コンストラクター

AggregateCacheDependency()

AggregateCacheDependency クラスの新しいインスタンスを初期化します。

プロパティ

HasChanged

CacheDependency オブジェクトが変更されたかどうかを示す値を取得します。

(継承元 CacheDependency)
UtcLastModified

依存関係が最後に変更された時刻を取得します。

(継承元 CacheDependency)

メソッド

Add(CacheDependency[])

CacheDependency オブジェクトに AggregateCacheDependency オブジェクトの配列を追加します。

DependencyDispose()

CacheDependency クラス、および CacheDependency から派生したクラスが使用したリソースを解放します。

(継承元 CacheDependency)
Dispose()

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

(継承元 CacheDependency)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
FinishInit()

CacheDependency オブジェクトの初期化を完了します。

(継承元 CacheDependency)
GetFileDependencies()

ファイルの依存関係を取得します。

GetFileDependencies()

ファイルの依存関係を取得します。

(継承元 CacheDependency)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetUniqueID()

AggregateCacheDependency オブジェクトの一意の識別子を取得します。

ItemRemoved()

監視対象のキャッシュ エントリが削除されるときに呼び出されます。

(継承元 CacheDependency)
KeepDependenciesAlive()

この項目に依存するすべてのキャッシュ項目の最終アクセス時刻を更新します。

(継承元 CacheDependency)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

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

派生クラス CacheDependency によって表される依存関係が変更されたことを、基本オブジェクトの CacheDependency に通知します。

(継承元 CacheDependency)
SetCacheDependencyChanged(Action<Object,EventArgs>)

変更において関係者への通知を処理するアクション メソッドをこの依存関係に追加します。

(継承元 CacheDependency)
SetUtcLastModified(DateTime)

依存関係が最後に変更された時刻にマークを付けます。

(継承元 CacheDependency)
TakeOwnership()

この依存関係の排他的所有権を宣言する最初のユーザーを許可します。

(継承元 CacheDependency)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象