AggregateCacheDependency Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menggabungkan beberapa dependensi antara item yang disimpan dalam objek aplikasi Cache ASP.NET dan array CacheDependency objek. Kelas ini tidak dapat diwariskan.
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
- Warisan
Contoh
Contoh kode berikut menggunakan AggregateCacheDependency kelas untuk menambahkan DataSet, bernama XMLDataSet, ke cache yang bergantung pada file teks dan file XML.
' 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
Keterangan
Kelas AggregateCacheDependency memantau kumpulan objek dependensi sehingga ketika salah satu dari mereka berubah, item yang di-cache akan dihapus secara otomatis. Objek dalam array dapat berupa CacheDependency objek, SqlCacheDependency objek, objek kustom yang berasal dari CacheDependency, atau kombinasi apa pun dari ini.
Kelas AggregateCacheDependency berbeda dari CacheDependency kelas di dalamnya memungkinkan Anda untuk mengaitkan beberapa dependensi dari berbagai jenis dengan satu item cache. Misalnya, jika Anda membuat halaman yang mengimpor data dari tabel database SQL Server dan file XML, Anda dapat membuat objek SqlCacheDependency untuk mewakili dependensi pada tabel database dan CacheDependency untuk mewakili dependensi pada file XML. Daripada melakukan Cache.Insert panggilan metode untuk setiap dependensi, Anda dapat membuat instans AggregateCacheDependency kelas dengan setiap dependensi yang ditambahkan ke dalamnya. Anda kemudian dapat menggunakan satu Insert panggilan untuk membuat halaman bergantung pada AggregateCacheDependency instans.
Konstruktor
| Nama | Deskripsi |
|---|---|
| AggregateCacheDependency() |
Menginisialisasi instans baru dari kelas AggregateCacheDependency. |
Properti
| Nama | Deskripsi |
|---|---|
| HasChanged |
Mendapatkan nilai yang menunjukkan apakah CacheDependency objek telah berubah. (Diperoleh dari CacheDependency) |
| UtcLastModified |
Mendapatkan waktu ketika dependensi terakhir diubah. (Diperoleh dari CacheDependency) |
Metode
| Nama | Deskripsi |
|---|---|
| Add(CacheDependency[]) |
Menambahkan array CacheDependency objek ke AggregateCacheDependency objek. |
| DependencyDispose() |
Merilis sumber daya yang digunakan oleh CacheDependency kelas dan kelas apa pun yang berasal dari CacheDependency. (Diperoleh dari CacheDependency) |
| Dispose() |
Merilis sumber daya yang digunakan oleh CacheDependency objek. (Diperoleh dari CacheDependency) |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| FinishInit() |
Menyelesaikan inisialisasi CacheDependency objek. (Diperoleh dari CacheDependency) |
| GetFileDependencies() |
Mendapatkan dependensi file. |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| GetUniqueID() |
Mengambil pengidentifikasi unik untuk objek.AggregateCacheDependency |
| ItemRemoved() |
Dipanggil ketika entri cache yang dipantau dihapus. (Diperoleh dari CacheDependency) |
| KeepDependenciesAlive() |
Memperbarui waktu akses terakhir setiap item cache yang bergantung pada item ini. (Diperoleh dari CacheDependency) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| NotifyDependencyChanged(Object, EventArgs) |
Memberi tahu objek dasar CacheDependency bahwa dependensi yang diwakili oleh kelas turunan CacheDependency telah berubah. (Diperoleh dari CacheDependency) |
| SetCacheDependencyChanged(Action<Object,EventArgs>) |
Menambahkan metode Tindakan untuk menangani memberi tahu pihak yang tertarik dalam perubahan pada dependensi ini. (Diperoleh dari CacheDependency) |
| SetUtcLastModified(DateTime) |
Menandai waktu ketika dependensi terakhir diubah. (Diperoleh dari CacheDependency) |
| TakeOwnership() |
Memungkinkan pengguna pertama untuk mendeklarasikan kepemilikan eksklusif atas dependensi ini. (Diperoleh dari CacheDependency) |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |