AggregateCacheDependency Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Łączy wiele zależności między elementem przechowywanym w obiekcie aplikacji Cache ASP.NET a tablicą CacheDependency obiektów. Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
Przykłady
W poniższym przykładzie AggregateCacheDependency kodu użyto klasy , aby dodać klasę DataSeto nazwie XMLDataSet
do pamięci podręcznej, która jest zależna od pliku tekstowego i pliku 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
Uwagi
Klasa AggregateCacheDependency monitoruje kolekcję obiektów zależności, aby po zmianie dowolnego z nich element buforowany został automatycznie usunięty. Obiekty w tablicy mogą być CacheDependency obiektami, SqlCacheDependency obiektami, obiektami niestandardowymi pochodzącymi z CacheDependencyklasy lub dowolną kombinacją tych obiektów.
Klasa AggregateCacheDependency różni się od CacheDependency klasy, w której umożliwia skojarzenie wielu zależności różnych typów z jednym buforowanym elementem. Jeśli na przykład tworzysz stronę, która importuje dane z tabeli bazy danych SQL Server i pliku XML, możesz utworzyć SqlCacheDependency obiekt reprezentujący zależność od tabeli bazy danych i obiekt CacheDependency reprezentujący zależność od pliku XML. Zamiast wykonywać Cache.Insert wywołanie metody dla każdej zależności, możesz utworzyć wystąpienie AggregateCacheDependency klasy z każdą dodaną do niej zależnością. Następnie można użyć pojedynczego Insert wywołania, aby strona zależała AggregateCacheDependency od wystąpienia.
Konstruktory
AggregateCacheDependency() |
Inicjuje nowe wystąpienie klasy AggregateCacheDependency. |
Właściwości
HasChanged |
Pobiera wartość wskazującą CacheDependency , czy obiekt uległ zmianie. (Odziedziczone po CacheDependency) |
UtcLastModified |
Pobiera czas ostatniej zmiany zależności. (Odziedziczone po CacheDependency) |
Metody
Add(CacheDependency[]) |
Dodaje tablicę CacheDependency obiektów do AggregateCacheDependency obiektu. |
DependencyDispose() |
Zwalnia zasoby używane przez klasę CacheDependency i wszystkie klasy pochodzące z CacheDependencyklasy . (Odziedziczone po CacheDependency) |
Dispose() |
Zwalnia zasoby używane przez CacheDependency obiekt. (Odziedziczone po CacheDependency) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
FinishInit() |
Kończy inicjowanie CacheDependency obiektu. (Odziedziczone po CacheDependency) |
GetFileDependencies() |
Pobiera zależności plików. |
GetFileDependencies() |
Pobiera zależności plików. (Odziedziczone po CacheDependency) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
GetUniqueID() |
Pobiera unikatowy identyfikator AggregateCacheDependency obiektu. |
ItemRemoved() |
Wywoływana po usunięciu monitorowanej pamięci podręcznej. (Odziedziczone po CacheDependency) |
KeepDependenciesAlive() |
Aktualizuje czas ostatniego dostępu każdego elementu pamięci podręcznej, który zależy od tego elementu. (Odziedziczone po CacheDependency) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
NotifyDependencyChanged(Object, EventArgs) |
Powiadamia obiekt podstawowy CacheDependency , że zależność reprezentowana przez klasę pochodną CacheDependency uległa zmianie. (Odziedziczone po CacheDependency) |
SetCacheDependencyChanged(Action<Object,EventArgs>) |
Dodaje metodę Action do obsługi powiadamiania zainteresowanej strony o zmianach w tej zależności. (Odziedziczone po CacheDependency) |
SetUtcLastModified(DateTime) |
Oznacza czas ostatniej zmiany zależności. (Odziedziczone po CacheDependency) |
TakeOwnership() |
Umożliwia pierwszemu użytkownikowi zadeklarowanie wyłącznej własności tej zależności. (Odziedziczone po CacheDependency) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |