AggregateCacheDependency クラス
アセンブリ: System.Web (system.web.dll 内)


AggregateCacheDependency クラスは依存関係オブジェクトのコレクションを監視し、これらのオブジェクトが変更されたときにキャッシュされた項目が自動的に削除されるようにします。配列内のオブジェクトは、CacheDependency オブジェクト、SqlCacheDependency オブジェクト、CacheDependency から派生したカスタム オブジェクト、またはこれらの任意の組み合わせになります。
AggregateCacheDependency クラスは、種類の異なる複数の依存関係を単一のキャッシュされた項目に関連付けできる点において、CacheDependency クラスと異なります。たとえば、SQL Server データベース テーブルおよび XML ファイルからデータをインポートするページを作成する場合、データベース テーブルとの依存関係を表す SqlCacheDependency オブジェクトと、XML ファイルとの依存関係を表す CacheDependency を作成できます。つまり、依存関係ごとに Cache.Insert メソッド呼び出しを作成する代わりに、追加される各依存関係を使用して AggregateCacheDependency クラスのインスタンスを作成できます。次に単一の Insert 呼び出しを使用して、このページを 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

System.Web.Caching.CacheDependency
System.Web.Caching.AggregateCacheDependency


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


AggregateCacheDependency コンストラクタ
アセンブリ: System.Web (system.web.dll 内)



引数を受け取らないコンストラクタを使用して、AggregateCacheDependency クラスのインスタンスを作成するコード例を次に示します。2 つの CacheDependency オブジェクトが作成され、CacheDependency 配列 (myDepArray) に追加されます。このコンストラクタを Add メソッドと組み合わせて使用し、Cache に格納されている項目を両方の CacheDependency オブジェクトに依存させます。
' 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)

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


AggregateCacheDependency プロパティ

名前 | 説明 | |
---|---|---|
![]() | HasChanged | CacheDependency オブジェクトが変更されたかどうかを示す値を取得します。 ( CacheDependency から継承されます。) |
![]() | UtcLastModified | 依存関係が最後に変更された時刻を取得します。 ( CacheDependency から継承されます。) |

AggregateCacheDependency メソッド

名前 | 説明 | |
---|---|---|
![]() | Add | AggregateCacheDependency オブジェクトに CacheDependency オブジェクトの配列を追加します。 |
![]() | Dispose | CacheDependency オブジェクトに使用されているリソースを解放します。 ( CacheDependency から継承されます。) |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | GetUniqueID | オーバーライドされます。 AggregateCacheDependency オブジェクトの一意の識別子を取得します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

AggregateCacheDependency メンバ
ASP.NET アプリケーションの Cache オブジェクトに格納されている項目と CacheDependency オブジェクトの配列の間の複数の依存関係を結合します。このクラスは継承できません。
AggregateCacheDependency データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | HasChanged | CacheDependency オブジェクトが変更されたかどうかを示す値を取得します。(CacheDependency から継承されます。) |
![]() | UtcLastModified | 依存関係が最後に変更された時刻を取得します。(CacheDependency から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Add | AggregateCacheDependency オブジェクトに CacheDependency オブジェクトの配列を追加します。 |
![]() | Dispose | CacheDependency オブジェクトに使用されているリソースを解放します。 (CacheDependency から継承されます。) |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | GetUniqueID | オーバーライドされます。 AggregateCacheDependency オブジェクトの一意の識別子を取得します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からAggregateCacheDependencyを検索する場合は、下記のリンクをクリックしてください。

- AggregateCacheDependencyのページへのリンク