AggregateCacheDependency クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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使用して、テキスト ファイルと 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) |